diff --git a/.github/PULL_REQUEST_TEMPLATE/ARM_spec_pr_review_workflow_diagram.png b/.github/PULL_REQUEST_TEMPLATE/ARM_spec_pr_review_workflow_diagram.png new file mode 100644 index 000000000000..f7ec2985abea Binary files /dev/null and b/.github/PULL_REQUEST_TEMPLATE/ARM_spec_pr_review_workflow_diagram.png differ diff --git a/.github/PULL_REQUEST_TEMPLATE/control_plane_template.md b/.github/PULL_REQUEST_TEMPLATE/control_plane_template.md index b467bfe8173b..f094e78b9caf 100644 --- a/.github/PULL_REQUEST_TEMPLATE/control_plane_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/control_plane_template.md @@ -1,5 +1,21 @@ # ARM (Control Plane) API Specification Update Pull Request +## PR review workflow diagram + +Please understand this diagram before proceeding. It explains how to get your PR approved & merged. + +![diagram](https://github.com/Azure/azure-rest-api-specs/assets/4429827/8cb0b0e5-55ba-44a4-9848-2faead57fcc0) + +[1] [public repo review queue], [private repo review queue] +The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page. +If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label `ARMChangesRequested` +is removed from your PR. This should cause the label `WaitForARMFeedback` to be added. +[2] https://aka.ms/azsdk/support/specreview-channel +[3] [List of SDK breaking changes approvers] in pinned Teams announcement +[4] [public repo merge queue], [private repo merge queue] + +If you need further help with anything, see `Getting help` section below. + ## Purpose of this PR What's the purpose of this PR? Check all that apply. This is **mandatory**! @@ -36,6 +52,13 @@ follow the process outlined in the [High-level Breaking Change Process doc](http ## Getting help +- For general PR approval workflow, see the diagram at the top of this comment. - For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix. -- For additional help, see https://aka.ms/azsdk/support/spectools. +- If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR. + +[public repo review queue]: https://github.com/Azure/azure-rest-api-specs/pulls?q=is%3Aopen+is%3Apr+label%3AWaitForARMFeedback+-label%3AIDCDevDiv+draft%3Afalse+sort%3Acreated-asc +[private repo review queue]: https://github.com/Azure/azure-rest-api-specs-pr/pulls?q=is%3Aopen+is%3Apr+label%3AWaitForARMFeedback+-label%3AIDCDevDiv+draft%3Afalse+sort%3Acreated-asc +[List of SDK breaking changes approvers]: https://teams.microsoft.com/l/message/19:0351f5f9404446e4b4fd4eaf2c27448d@thread.skype/1689115217750?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&parentMessageId=1689115217750&teamName=Azure%20SDK&channelName=API%20Spec%20Review&createdTime=1689115217750 +[public repo merge queue]: https://github.com/Azure/azure-rest-api-specs/pulls?q=is%3Aopen+is%3Apr+label%3AMergeRequested+-label%3AIDCDevDiv+draft%3Afalse+sort%3Acreated-asc +[private repo merge queue]: https://github.com/Azure/azure-rest-api-specs-pr/pulls?q=is%3Aopen+is%3Apr+label%3AMergeRequested+-label%3AIDCDevDiv+draft%3Afalse+sort%3Acreated-asc diff --git a/.github/comment.yml b/.github/comment.yml index ae1085c5231b..69a048770786 100644 --- a/.github/comment.yml +++ b/.github/comment.yml @@ -20,7 +20,9 @@ **ACTION ITEM ALTERNATIVE C**: Report false positive.
If you think there are no breaking changes, i.e. the validation should pass yet it fails, - then please explain why in a PR comment and @ the PR assignee. + then proceed as explained in **ACTION ITEM ALTERNATIVE B**.
+ This applies even if the breaking change tool fails with internal runtime error. + In such case a manual breaking change review is necessary. - rule: type: label @@ -47,7 +49,9 @@ **ACTION ITEM ALTERNATIVE C**: Report false positive.
If you think there are no changes in existing API version, i.e. there should be no `NewApiVersionRequired` label, - then please explain why in a PR comment and @ the PR assignee. + then proceed as explained in **ACTION ITEM ALTERNATIVE B**.
+ This applies even if the breaking change tool fails with internal runtime error. + In such case a manual breaking change review is necessary.

For additional guidance, please see https://aka.ms/NewApiVersionRequired diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml index b01d4ea1f053..495d46dca2ea 100644 --- a/.github/pull_request_assignment.yml +++ b/.github/pull_request_assignment.yml @@ -10,6 +10,7 @@ # OpenAI data-plane PR paths: - "specification/cognitiveservices/data-plane/AzureOpenAI/**" + - "specification/cognitiveservices/OpenAI.Inference/**" reviewers: - lmazuel diff --git a/CODEOWNERS b/CODEOWNERS index f4d3a701ccfc..acdfde0cb06b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -156,7 +156,7 @@ /specification/monitor/ @gucalder # PRLabel: %Network -/specification/network/ @MikhailTryakhov +/specification/network/ @Joanna-Yang-Art # PRLabel: %Notification Hub /specification/notificationhubs/ @amolr @smithab @@ -263,5 +263,13 @@ /specification/**/resource-manager/**/readme.typescript.md @qiaozha /specification/**/resource-manager/**/readme.az.md @jsntcy @qiaozha /specification/**/resource-manager/**/readme.cli.md @jsntcy @qiaozha -/specification/**/resource-manager/**/readme.go.md @ArcturusZhang -/specification/**/resource-manager/**/readme.python.md @msyyc @Wzb123456789 +/specification/**/resource-manager/**/readme.go.md @tadelesh +/specification/**/resource-manager/**/readme.python.md @msyyc + +########### +# Eng Sys +########### +/.azure-pipelines/ @weshaggard @mikeharder @konrad-jamrozik +/.github/ @weshaggard @mikeharder @konrad-jamrozik +/eng/ @weshaggard @mikeharder @konrad-jamrozik +/scripts/ @weshaggard @mikeharder @konrad-jamrozik diff --git a/custom-words.txt b/custom-words.txt index 81bc780730fa..17c197acf31b 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -417,6 +417,7 @@ centralindia centralus centraluseuap certchain +certificateprofiles certificatescreateorupdate certificatesdelete certificatethumbprint @@ -495,9 +496,14 @@ codemirror codepackage codespace codespaces +codesign +codesigning +codesigningaccounts +Code coffeelake cognitiveservices collectiondetails +cogservice colls colocation cololocation @@ -532,6 +538,7 @@ continuationtoken continuousdataexports continuouswebjobs contoso +Contoso's contosodataset contosomedia contributer @@ -560,6 +567,7 @@ createorupdate createpreview credativ creds +criterias crossdomain cscf cscfg @@ -1177,6 +1185,7 @@ illumos iloveyou imageanalysis imagebuilder +imagecomposition imagelist imagelists imagesearch @@ -1959,6 +1968,8 @@ piqd pitr pixelated pkcs +planogram +planogramcompliance pkis playready plex @@ -2038,6 +2049,7 @@ privatelinks privatelinkscopes privatelinkservice privatepreview +productrecognition projecthilo propagations propogation @@ -2175,6 +2187,7 @@ removeaclentries removedefaultacl removenodes removex +reoffer reparent replicationdetails replicationstatus @@ -2252,6 +2265,7 @@ rollouts rolloverdetails rollupby rootfs +rootcert rosettanetprocessconfigurations rotatediskencryptionkey rotationpolicy @@ -2775,6 +2789,7 @@ unarchive unassign unassignment unassigns +unassigning unattend unbilled unclaim @@ -3674,6 +3689,7 @@ onetoone onetomany manytoone manytomany +ssml stransparent forceencryption tlsciphers diff --git a/documentation/Getting started with OpenAPI specifications.md b/documentation/Getting started with OpenAPI specifications.md index 9c7b7e746cbf..b14fee6a7f25 100644 --- a/documentation/Getting started with OpenAPI specifications.md +++ b/documentation/Getting started with OpenAPI specifications.md @@ -8,14 +8,16 @@ OpenAPI Specification (formerly known as Swagger Specification) is an API descri Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`. ### Helpful Resources + * **[`Understanding the GitHub flow`](https://guides.github.com/introduction/flow/)** -* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**] +* **[`CONTRIBUTING.md`](https://github.com/Azure/azure-rest-api-specs/blob/main/CONTRIBUTING.md)** +* **[`Azure REST API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Azure/Guidelines.md)** +* **[`Azure OpenAPI Style Guide`](https://github.com/Azure/azure-api-style-guide/blob/main/openapi-style-guide.md)** * **[`Resource Provider Guidelines`](https://aka.ms/rpguidelines)** -* **[`Sample directory structure for swagger`](https://github.com/Azure/azure-rest-api-specs/wiki#directory-structure)** +* **[`Directory structure`](https://github.com/Azure/azure-rest-api-specs/blob/main/README.md#directory-structure)** * **[`Structure of a Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md)** * **[`Sample Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json)** * **[`Sample Readme.md`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/samplereadme.md)** -* **[`Swagger style guide`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-style-cheatsheet.md)** * **[`Authoring good Swagger descriptions`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/swagger-authoring-descriptions.md)** * **[`Validation tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/SwaggerValidationTools.md)** * [`Validation checks through automated tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md) diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md index 43ff29d46c02..c65ccb876f7e 100644 --- a/documentation/ci-fix.md +++ b/documentation/ci-fix.md @@ -73,17 +73,20 @@ Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/st Refer to [Semantic and Model Violations Reference](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/Semantic-and-Model-Violations-Reference.md) for detailed description of validations and how-to-fix guidance. ## Breaking Change Check + - An API contract is identified by its api-version value. Once published, no changes to this API contract are allowed. This applies regardless of whether the API contract is for private preview, public preview, or GA (stable). - The same-version breaking change linter rules check for changes to an existing api-version swagger. -- When introducing a new API contract (preview or not), the new API contract must be backwards compatible with the previous GA’s API contract. - - However, during a (private or public) preview cycle, a new preview API contract does not have to be backwards compatible with the previous preview API contract although it must still be backwards compatible with the latest GA API contract. - - The cross version breaking change linter rules checks for this by comparing the new swagger with the latest GA swagger. If there is no latest GA swagger, then the latest preview if it > 1 year old. If nether a GA or preview > 1 year old exists, then the swagger is considered good. + - When introducing a new API contract (preview or not), the new API contract must be backwards compatible with the previous GA’s API contract. + - However, during a (private or public) preview cycle, a new preview API contract does not have to be backwards compatible with the previous preview API contract although it must still be backwards compatible with the latest GA API contract. + - The cross version breaking change linter rules checks for this by comparing the new swagger with the latest GA swagger. If there is no latest GA swagger, then the latest preview if it > 1 year old. If nether a GA or preview > 1 year old exists, then the swagger is considered good. + +### Adding label on PR automatically -### adding label on PR automatically The breaking change check has two types of violations: one is breaking change in the same version but not breaking change in a new version, the other is breaking change even in a new version. -For the former, a label 'NewApiVersionRequired' will be added automatically; For the latter , a label 'BreakingChangeReviewRequired' will be added automatically. Adding each label will trigger a github comment with guildance on how to fix. +For the former, a label 'NewApiVersionRequired' will be added automatically; For the latter, a label 'BreakingChangeReviewRequired' will be added automatically. Adding each label will trigger a github comment with guildance on how to fix. + +### Run locally -### run locally run oad locally (the breaking change is reported by oad tool): ``` npm install -g @azure/oad @@ -129,6 +132,15 @@ To fix this CI check failure, if you haven't got ARM signed off, pls get ARM sig NOTE: If your RP is RPaaS RP, since RPaaS requires swagger merge first. In this case, you could ignore this CI check. +## API Doc Preview + +If you see `Swagger ApiDocPreview ` check fail with a failure [like this one](https://github.com/Azure/azure-rest-api-specs/pull/24841/checks?check_run_id=15056283615): + +| Rule | Message | +|-|-| +| ❌ RestBuild error | "logUrl":"https://apidrop.visualstudio.com/Content%20CI/_build/results?buildId=373646&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b",
"detail":"Run.ps1 failed with exit code 1 " | + +Then refer to [this TSG](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/79/Generation-of-docs-on-learn.microsoft.com?anchor=%22swagger-apidocpreview%22-build-is-failing). ## Service API Readiness Test @@ -147,6 +159,7 @@ To fix the check, download the artifact `api_scenario_test_output` from Azure pi This validator is to ensure the TypeSpec & swagger files in PR are consistent and passing validation. ### How to fix + | Error Code |Severity |Solution | |---|---|---| |MissingTypeSpecFile| Error |Adding the related TypeSpec project into {RP-Name} folder, like [Qumulo.Manaement](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/liftrqumulo/Qumulo.Management)| @@ -163,6 +176,7 @@ See [typespec-autorest](https://azure.github.io/typespec-azure/docs/emitters/typ This validator generates traffic for all operations defined in Swagger files under default tag of readme.md by using [RESTler](https://github.com/microsoft/restler-fuzzer). Then, it validates the request and response pairs from the traffic against the corresponding Swagger definitions. Finally, it provides an html report that reports the Swagger accuracy. ### How to understand and improve the report + Please refer to [swagger-accuracy-report](./swagger-accuracy-report.md). ## Suppression Process diff --git a/documentation/swagger-style-cheatsheet.md b/documentation/swagger-style-cheatsheet.md deleted file mode 100644 index f129862a048c..000000000000 --- a/documentation/swagger-style-cheatsheet.md +++ /dev/null @@ -1,44 +0,0 @@ -# Swagger spec style guide - -Less style guide and more "cheat sheet," the following sections describe which fields or content are currently supported by [docs.microsoft.com](http://docs.microsoft.com), the toolchain, and the [Swagger/OpenAPI specification](http://swagger.io/specification/). - -This document will be updated as features and support are added to the toolchain and docs.microsoft.com. As more features and support are added, this will become more of a style guide. - -## Documentation field support by object type - -Not all Swagger documentation fields (summary, description, title) are supported by all Swagger object types. This is an [OpenAPI](http://swagger.io/specification/) specification restriction, not a docs.ms.com or toolchain restriction. The following table specifies which fields can be used for which object types in a Swagger *.json. - -| Object type | summary | description | title | -|-------------:|:-----------:|:-----------:|:-----------:| -| [operation](http://swagger.io/specification/#operationObject) | X | X | | -| [parameter](http://swagger.io/specification/#parameterObject) | | X | | -| [schema object](http://swagger.io/specification/#schemaObject) | | X | X | - -* `summary` and `title` fields are appropriate for short-form documentation of 120 characters or less. -* `description` is for long-form content, and can contain examples of use ("examples" in this context should not to be confused with the [examples](#examples-field) field). - -## GitHub-flavored Markdown (GFM) - -[GitHub-flavored Markdown](https://help.github.com/articles/github-flavored-markdown) (GFM) is not yet fully* supported in the `description` field. - -\* The Swagger specification itself supports GFM in the `description` field of several object types, as does OPS. However, AutoRest currently passes through GFM formatting tags directly, so `**my bolded text**` (*including* the asterisks) will end up in your generated clients' docs. Don't use GFM in Swagger spec descriptions **yet**. - -## HTML - -Do **not** put HTML tags in any of the documentation fields. - -## `examples` field - -You *should* populate the [examples](http://swagger.io/specification/#exampleObject) field for operation responses. - -Format it as valid JSON (i.e. *don't* stuff it all into a string with `\n`s) and it'll be rendered as the raw JSON response object on docs. For an example, see the Monitor REST API reference - -* Rendered: [Monitor > AlertRules_Get](https://docs.microsoft.com/rest/api/monitor/alertrules#AlertRules_Get) (see Returns section) -* Source: [insightsManagementClient_AlertRules.json](https://github.com/Azure/azure-rest-api-specs/blob/master/arm-insights/2016-03-01/swagger/insightsManagementClient_AlertRules.json#L184) line 184 - -## Overwrites - -Not all fields support overwrites. For example, only the `summary` and `description` fields of a Swagger spec can be overwritten in REST API documentation. See the DocFx documentation for lists of which fields can be overwritten: - -* [REST API](https://dotnet.github.io/docfx/tutorial/intro_overwrite_files.html#rest-api-model) -* [Managed reference](https://dotnet.github.io/docfx/tutorial/intro_overwrite_files.html#managed-reference-model) \ No newline at end of file diff --git a/documentation/typespec-rest-api-dev-process.md b/documentation/typespec-rest-api-dev-process.md index 3bc25325be22..3661e9a340c3 100644 --- a/documentation/typespec-rest-api-dev-process.md +++ b/documentation/typespec-rest-api-dev-process.md @@ -5,31 +5,19 @@ 1. Introduction 2. Repo setup & prerequisites 3. Setting up -4. +4. Generate or Refresh SDK code from a TypeSpec project ### 1. Introduction -This document describes the processes of developing Azure Rest APIs and SDKs with TypeSpec language. The steps below assumes that you are developing TypeSpec API specifications in the `azure-rest-api-specs` repos. +This document describes the processes of developing Azure Rest APIs and SDKs with TypeSpec language. The steps below assumes that you are developing TypeSpec API specifications in the `azure-rest-api-specs` and `azure-rest-api-specs-pr`repos. -If you are developing within your own ADO repo first and then submitting into `azure-rest-api-specs` repos for review and release, you will need to copy the files over. +If you are developing within your own ADO repo first and then submitting into `azure-rest-api-specs` repos for review and release, you will need to copy the TypeSpec files over. ### 2. Repo setup & prerequisites - The main repos for Azure rest-api are [azure-rest-api-specs](https://github.com/azure/azure-rest-api-specs) and [azure-rest-api-specs-pr](https://github.com/azure/azure-rest-api-specs-pr) repos. The `-pr` repo contains `RPSaaSMaster` and `RPSaaSDev` branches for ProviderHub based ARM service specs. -#### 2.1 With VSCode docker .devcontainer - -All prerequisites have been installed in the dev container. You should to have `Docker Desktop` and `WSL2` running if you are on Windows machine. - -To start, you just need to install `Dev Containers` VS code extension, then open the repo path. - -- VSCode will detect the .devcontainer and prompt you to reopen the workspace. - -- Alternatively, you can use Command Palette -> Dev Containers: Reopen in Container. - -Once VSCode reopened in Container, you can run any of the program below in the VSCode integrated terminal. - -#### 2.2 With local machine development +#### 2.1 With local machine development - [Node.js LTS](https://nodejs.org/en) version 16 or above. Ensure you can run the npm command in a command prompt: ``` @@ -45,20 +33,39 @@ Once VSCode reopened in Container, you can run any of the program below in the V - Ensure you can run TypeSpec command within the repo folders. ``` - tsp --version + npx tsp --version ``` -- Install TypeSpec VisualStudio or VSCode extensions to get syntex highlighting, tool tips in IDE: +- One-time set up: Install TypeSpec VisualStudio or VSCode extensions to get syntex highlighting, tool tips in IDE: ``` - tsp code install + npx tsp code install ``` OR ``` - tsp vs install + npx tsp vs install ``` -### 3. Creating a TypeSpec project +#### 2.2 VSCode with local docker .devcontainer + +All prerequisites have been installed in the dev container. You should to have `Docker Desktop` and `WSL2` running if you are on Windows machine. + +To start, you just need to install `Dev Containers` VS code extension, then open the repo path. + +- VSCode will detect the .devcontainer and prompt you to reopen the workspace. + +- Alternatively, you can use Command Palette -> Dev Containers: Reopen in Container. + +Once VSCode reopened in Container, you can run any of the program below in the VSCode integrated terminal. + +#### 2.2 VSCode in browser via github codespaces + +Github codespaces leverage the same dev container in the repo. The difference is it is hosted in cloud with VSCode in browser. + +To start, you just need to browse to the `azure-rest-api-specs` repo, select `<> Code` drop down and follow `Codespaces` instructions. + + +### 3. Creating a new TypeSpec project Please first review recommended folder structure detailed in [this document](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md). @@ -67,13 +74,13 @@ Please first review recommended folder structure detailed in [this document](htt 3. Create a new TypeSpec project based on Azure template with command: ```cli - tsp init https://aka.ms/typespec/azure-init + npx tsp init https://aka.ms/typespec/azure-init ``` - -4. Compile the TypeSpec project with command: +4. Select `(rest-api-spec repo) ARM` or `(rest-api-spec repo) Data-plane` and answer appropriate naming questions. +5. Compile the generated TypeSpec project with command: ```cli - tsp compile . + npx tsp compile . ``` The generated swagger files should be correctly placed in `data-plane` or `resource-manager` folders follwoing the naming conventions. @@ -82,18 +89,24 @@ Please first review recommended folder structure detailed in [this document](htt ### 4. Generate or Refresh SDK code from a TypeSpec project -The section describe the process for data-plane SDKs. Management-plane SDKs still follow the `autorest` process. +The section describe the process for data-plane SDKs. Management-plane SDKs still follow separate existing `autorest` process. -#### 4.1 With VSCode docker .devcontainer - - -#### 4.2 With local machine development +This assumes you have cloned language SDKs into your local folder at same level of `azure-rest-api-spec`. +``` + \- + azure-rest-api-specs/ + azure-rest-api-specs-pr/ + azure-sdk-for-java/ + azure-sdk-for-js/ + azure-sdk-for-net/ + azure-sdk-for-python/ +`````` -This assumes you have cloned language SDKs into your local folder. `./eng/script/TypeSpec-Generate-Sdk.ps1` script will generate the necessary SDK folder and project structure if it does not already exist, and then regenerate the SDK source code. + You can then run `./eng/script/TypeSpec-Generate-Sdk.ps1` script to generate the necessary SDK folder and project structure if it does not already exist, and then regenerate the SDK source code. Scenarios: -1. Test generation of SDK project and code with local TypeSpec changes in your `rest-api-specs` repo. Please note this cannot be used to submit a SDK PR as it does not contain a valid commit id for the TypeSpec file. +1. Test generation of SDK project and code with local TypeSpec changes in your `azure-rest-api-specs` repo. Please note this cannot be used to submit a SDK PR as it does not contain a valid commit id for the TypeSpec file. ```cli cd specifications/contoso/contoso.widgetmanager diff --git a/eng/pipelines/templates/steps/typespec-ci.yml b/eng/pipelines/templates/steps/typespec-ci.yml deleted file mode 100644 index 992c13fd4030..000000000000 --- a/eng/pipelines/templates/steps/typespec-ci.yml +++ /dev/null @@ -1,22 +0,0 @@ -parameters: -- name: Folder - type: string -- name: DisplayName - type: string - -steps: -- bash: | - exit_code=0 - - # Log commands before running - set -x - - npx --no tsv ${{parameters.Folder}} || exit_code=1 - - # Discard any changes - git restore . - git clean -df - - exit $exit_code - displayName: ${{parameters.DisplayName}} - condition: succeededOrFailed() diff --git a/eng/pipelines/typespec-ci.yml b/eng/pipelines/typespec-ci.yml deleted file mode 100644 index 27aebf70c9b4..000000000000 --- a/eng/pipelines/typespec-ci.yml +++ /dev/null @@ -1,115 +0,0 @@ -trigger: - branches: - include: - - main - - typespec-next - -pr: - branches: - include: - - main - - typespec-next - paths: - include: - - package.json - - package-lock.json - - eng/pipelines/typespec-ci.yml - - eng/pipelines/templates/steps/typespec-ci.yml - - eng/tools/TypeSpecValidation - - specification/contosowidgetmanager - - specification/cognitiveservices - - specification/confidentialledger - - specification/containerservice - - specification/containerstorage - - specification/eventgrid - - specification/servicenetworking - - specification/sphere - - specification/translation - -jobs: -- job: TypeSpecCI - pool: - name: azsdk-pool-mms-ubuntu-2204-general - vmImage: ubuntu-22.04 - - steps: - - script: npm ci - displayName: npm ci - - - script: npm ls -a - displayName: npm ls -a - condition: succeededOrFailed() - - - script: npm run build - displayName: npm run build - condition: succeededOrFailed() - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/contosowidgetmanager/Contoso.WidgetManager - DisplayName: Contoso.WidgetManager - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/AnomalyDetector - DisplayName: AnomalyDetector - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/ContentSafety - DisplayName: ContentSafety - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/HealthInsights/healthinsights.openapi - DisplayName: healthinsights.openapi - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/HealthInsights/healthinsights.oncophenotype - DisplayName: healthinsights.oncophenotype - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/HealthInsights/healthinsights.trialmatcher - DisplayName: healthinsights.trialmatcher - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/cognitiveservices/OpenAI.Inference - DisplayName: OpenAI.Inference - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/confidentialledger/Microsoft.ManagedCcf - DisplayName: ManagedCcf - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/containerservice/Fleet.Management - DisplayName: Fleet.Management - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/containerstorage/ContainerStorage.Management - DisplayName: ContainerStorage.Management - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/eventgrid/Azure.Messaging.EventGrid - DisplayName: Messaging.EventGrid - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/servicenetworking/ServiceNetworking.Management - DisplayName: Microsoft.ServiceNetworking - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/sphere/Sphere.Management - DisplayName: Sphere.Management - - - template: templates/steps/typespec-ci.yml - parameters: - Folder: specification/translation/Azure.AI.TextTranslation - DisplayName: AI.TextTranslation diff --git a/eng/pipelines/typespec-validation-all.yml b/eng/pipelines/typespec-validation-all.yml new file mode 100644 index 000000000000..f830a130a1f1 --- /dev/null +++ b/eng/pipelines/typespec-validation-all.yml @@ -0,0 +1,26 @@ +trigger: + branches: + include: + - main + - typespec-next + +pr: none + +jobs: +- job: Validate_All_Specs + pool: + name: azsdk-pool-mms-ubuntu-2204-general + vmImage: ubuntu-22.04 + + steps: + - script: npm ci + displayName: npm ci + + - script: npm ls -a + displayName: npm ls -a + condition: succeededOrFailed() + + - pwsh: | + $(Build.SourcesDirectory)/eng/scripts/Validate-TypeSpec.ps1 $(Build.SourcesDirectory) -GitClean + displayName: Validate All Specs + condition: succeededOrFailed() diff --git a/eng/pipelines/typespec-validation.yml b/eng/pipelines/typespec-validation.yml new file mode 100644 index 000000000000..a5b0bed1e3c2 --- /dev/null +++ b/eng/pipelines/typespec-validation.yml @@ -0,0 +1,30 @@ +trigger: none + +pr: + branches: + include: + - main + - typespec-next + +jobs: +- job: Validate_Impacted_Specs + pool: + name: azsdk-pool-mms-ubuntu-2204-general + vmImage: ubuntu-22.04 + + steps: + - script: npm ci + displayName: npm ci + + - script: npm ls -a + displayName: npm ls -a + condition: succeededOrFailed() + + - pwsh: | + $(Build.SourcesDirectory)/eng/scripts/Validate-TypeSpec.ps1 ` + $(Build.SourcesDirectory) ` + "origin/${env:SYSTEM_PULLREQUEST_TARGETBRANCH}" ` + "${env:SYSTEM_PULLREQUEST_SOURCECOMMITID}" ` + -GitClean + displayName: Validate Impacted Specs + condition: succeededOrFailed() diff --git a/eng/scripts/Get-TypeSpec-Folders.ps1 b/eng/scripts/Get-TypeSpec-Folders.ps1 new file mode 100644 index 000000000000..d815b1d455ba --- /dev/null +++ b/eng/scripts/Get-TypeSpec-Folders.ps1 @@ -0,0 +1,60 @@ +[CmdletBinding()] +param ( + [Parameter(Position = 0, Mandatory = $true)] + [string] $SpecsRepoRootDirectory, + [Parameter(Position = 1, Mandatory = $false)] + [string]$TargetBranch, + [Parameter(Position = 2, Mandatory = $false)] + [string]$SourceBranch +) + +$changedFiles = @() +$allChangedFiles = (Get-ChildItem -path ./specification tspconfig.yaml -Recurse).Directory.FullName | ForEach-Object {[IO.Path]::GetRelativePath($($pwd.path), $_)} +$allChangedFiles = $allChangedFiles -replace '\\', '/' + +if ([string]::IsNullOrEmpty($TargetBranch) -or [string]::IsNullOrEmpty($SourceBranch)) { + if ($TargetBranch -or $SourceBranch) { + throw "Please provide both target branch and source branch." + } + $changedFiles = $allChangedFiles +} +else { + Write-Host "git -c core.quotepath=off -c i18n.logoutputencoding=utf-8 diff --name-only `"$TargetBranch...$SourceBranch`" --" + $changedFiles = git -c core.quotepath=off -c i18n.logoutputencoding=utf-8 diff --name-only `"$TargetBranch...$SourceBranch`" -- + $changedFiles = $changedFiles -replace '\\', '/' | Sort-Object + + Write-Host "changedFiles:" + foreach ($changedFile in $changedFiles) { + Write-Host " $changedFile" + } + Write-Host + + $engFiles = $changedFiles | Where-Object {if ($_) { $_.StartsWith('eng') }} + + $rootFilesImpactingTypeSpec = @( + ".gitattributes", + ".prettierrc.json", + "package-lock.json", + "package.json", + "tsconfig.json" + ) + $repoRootFiles = $changedFiles | Where-Object {$_ -in $rootFilesImpactingTypeSpec} + + if ($engFiles -or $repoRootFiles) { + $changedFiles = $allChangedFiles + } + else { + $changedFiles = $changedFiles | Where-Object {if ($_) { $_.StartsWith('specification') }} + } +} + +$typespecFolders = @() +foreach ($file in $changedFiles) { + if ($file -match 'specification\/[^\/]*\/') { + $typespecFolder = (Get-ChildItem -path $matches[0] tspconfig.yaml -Recurse).Directory.FullName | ForEach-Object {if ($_) { [IO.Path]::GetRelativePath($($pwd.path), $_) }} + $typespecFolders += $typespecFolder -replace '\\', '/' + } +} +$typespecFolders = $typespecFolders | Select-Object -Unique | Sort-Object + +return $typespecFolders diff --git a/eng/scripts/Validate-TypeSpec.ps1 b/eng/scripts/Validate-TypeSpec.ps1 new file mode 100644 index 000000000000..5ad68b990a71 --- /dev/null +++ b/eng/scripts/Validate-TypeSpec.ps1 @@ -0,0 +1,39 @@ +[CmdletBinding()] +param ( + [Parameter(Position = 0, Mandatory = $true)] + [string] $SpecsRepoRootDirectory, + [Parameter(Position = 1, Mandatory = $false)] + [string]$TargetBranch, + [Parameter(Position = 2, Mandatory = $false)] + [string]$SourceBranch, + [Parameter(Mandatory = $false)] + [switch]$GitClean +) + +$exitCode = 0 + +$typespecFolders = &"$PSScriptRoot/Get-TypeSpec-Folders.ps1" "$SpecsRepoRootDirectory" "$TargetBranch" "$SourceBranch" + +Write-Host "typespecFolders:" +foreach ($typespecFolder in $typespecFolders) { + Write-Host " $typespecFolder" +} +Write-Host + +if ($typespecFolders) { + $typespecFolders = $typespecFolders.Split('',[System.StringSplitOptions]::RemoveEmptyEntries) + foreach ($typespecFolder in $typespecFolders) { + npx --no tsv $typespecFolder 2>&1 | Write-Host + if ($LASTEXITCODE) { + $exitCode = 1 + } + if ($GitClean) { + Write-Host "git restore ." + git restore . + Write-Host "git clean -df" + git clean -df + } + } +} + +exit $exitCode diff --git a/eng/tools/TypeSpecValidation/package.json b/eng/tools/TypeSpecValidation/package.json index 970c2e834420..db9f95fbd43c 100644 --- a/eng/tools/TypeSpecValidation/package.json +++ b/eng/tools/TypeSpecValidation/package.json @@ -13,6 +13,10 @@ }, "devDependencies": { "@types/debug": "^4.1.8", - "@types/node": "^18.16.18" + "@types/node": "^18.16.18", + "typescript": "~5.0.4" + }, + "scripts": { + "postinstall": "tsc" } } diff --git a/eng/tools/TypeSpecValidation/tsconfig.json b/eng/tools/TypeSpecValidation/tsconfig.json index e22799e0549a..6966315fab5d 100644 --- a/eng/tools/TypeSpecValidation/tsconfig.json +++ b/eng/tools/TypeSpecValidation/tsconfig.json @@ -3,6 +3,9 @@ "compilerOptions": { "target": "ES6", "module": "Node16", - "outDir": "./dist" + "outDir": "./dist", + + // override "importHelpers:true" in root tsconfig.json + "importHelpers": false } } diff --git a/eng/tools/package.json b/eng/tools/package.json new file mode 100644 index 000000000000..28c6f7e96e7d --- /dev/null +++ b/eng/tools/package.json @@ -0,0 +1,7 @@ +{ + "name": "azure-rest-api-specs-eng-tools", + "devDependencies": { + "@azure-tools/typespec-validation": "file:TypeSpecValidation" + }, + "private": true +} diff --git a/package-lock.json b/package-lock.json index 02ca27ba7c69..ffb7ecef3ae6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,27 +12,41 @@ "@azure-tools/cadl-azure-resource-manager": "0.26.0", "@azure-tools/cadl-providerhub": "0.26.0", "@azure-tools/typespec-apiview": "0.4.4", - "@azure-tools/typespec-autorest": "0.31.0", - "@azure-tools/typespec-azure-core": "0.31.0", - "@azure-tools/typespec-azure-resource-manager": "0.31.0", - "@azure-tools/typespec-client-generator-core": "0.31.0", - "@azure-tools/typespec-providerhub": "0.31.0", - "@azure-tools/typespec-validation": "file:eng/tools/TypeSpecValidation", + "@azure-tools/typespec-autorest": "0.32.0", + "@azure-tools/typespec-azure-core": "0.32.0", + "@azure-tools/typespec-azure-resource-manager": "0.32.0", + "@azure-tools/typespec-client-generator-core": "0.32.0", + "@azure-tools/typespec-providerhub": "0.32.0", "@azure/avocado": "^0.8.4", "@types/prettier": "^2.7.2", - "@typespec/compiler": "0.45.2", - "@typespec/http": "0.45.0", - "@typespec/openapi": "0.45.0", - "@typespec/rest": "0.45.0", - "@typespec/versioning": "0.45.0", + "@typespec/compiler": "0.46.0", + "@typespec/http": "0.46.0", + "@typespec/openapi": "0.46.0", + "@typespec/rest": "0.46.0", + "@typespec/versioning": "0.46.0", + "azure-rest-api-specs-eng-tools": "file:eng/tools", "prettier": "^2.8.8", "typescript": "~5.0.4" } }, + "eng/tools": { + "name": "azure-rest-api-specs-eng-tools", + "dev": true, + "devDependencies": { + "@azure-tools/typespec-validation": "file:TypeSpecValidation" + } + }, + "eng/tools/node_modules/@types/node": { + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", + "dev": true + }, "eng/tools/TypeSpecValidation": { "name": "@azure-tools/typespec-validation", "version": "0.0.1", "dev": true, + "hasInstallScript": true, "dependencies": { "debug": "^4.3.4", "simple-git": "^3.16.0" @@ -42,15 +56,10 @@ }, "devDependencies": { "@types/debug": "^4.1.8", - "@types/node": "^18.16.18" + "@types/node": "^18.16.18", + "typescript": "~5.0.4" } }, - "eng/tools/TypeSpecValidation/node_modules/@types/node": { - "version": "18.16.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", - "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==", - "dev": true - }, "node_modules/@azure-tools/cadl-apiview": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@azure-tools/cadl-apiview/-/cadl-apiview-0.3.5.tgz", @@ -166,95 +175,95 @@ } }, "node_modules/@azure-tools/typespec-autorest": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.31.0.tgz", - "integrity": "sha512-l/C4HyGr0ByC7FnlsoorXDIp46pbDxVPbq59XNX9sKJJ8p2297BJv7FdPlLi0BXGjEmzy93Ag4hoH9H/u54AhQ==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.32.0.tgz", + "integrity": "sha512-EjF1tZdoMwUgcMRA6u3ZqabnmpvXsfnkEVvC8v7iL8v80EeGpn6ZjHzeH7jp8p/is4i54DAA9b8OFmxMEOed7A==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.31.0", - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/openapi": "~0.45.0", - "@typespec/rest": "~0.45.0", - "@typespec/versioning": "~0.45.0" + "@azure-tools/typespec-azure-core": "~0.32.0", + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/openapi": "~0.46.0", + "@typespec/rest": "~0.46.0", + "@typespec/versioning": "~0.46.0" } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.31.0.tgz", - "integrity": "sha512-sfJyRKGzQeBAm0Tw/CWFnWnHnxZDVbkXXLHeLb76VbRwkAu1P65eENRXXQTkUX5+PxnQH7qU/3MD5WT42AFsyA==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.32.0.tgz", + "integrity": "sha512-KnatCnncPVXQqUMHv5TYHrrcELtCCAbBIp3oMemqU8BLECs8KefOlLvxTqnkd9nSWdbcQTuJPnafmaH8A7gtrg==", "dev": true, "dependencies": { - "@typespec/lint": "~0.45.0" + "@typespec/lint": "~0.46.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/rest": "~0.45.0" + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/rest": "~0.46.0" } }, "node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.31.0.tgz", - "integrity": "sha512-3z+mFZZxzuw5Y1Ma+AmlYtr+UvBCCOYesD9K7NPHiAfWpPQsgMJM3TbGpjUk5GD6ID1RzBjQfDJ52ittpMNrmQ==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.32.0.tgz", + "integrity": "sha512-yeDhg5qC73bqlWxyNDqD0bhvsdNPKyczx3FY6hYT4xGP1fynZbk3OXEduJuDIi65f4H1e762TBZDvGPv1/y7uw==", "dev": true, "dependencies": { - "@typespec/lint": "~0.45.0" + "@typespec/lint": "~0.46.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@azure-tools/typespec-autorest": "~0.31.0", - "@azure-tools/typespec-azure-core": "~0.31.0", - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/openapi": "~0.45.0", - "@typespec/rest": "~0.45.0", - "@typespec/versioning": "~0.45.0" + "@azure-tools/typespec-autorest": "~0.32.0", + "@azure-tools/typespec-azure-core": "~0.32.0", + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/openapi": "~0.46.0", + "@typespec/rest": "~0.46.0", + "@typespec/versioning": "~0.46.0" } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.31.0.tgz", - "integrity": "sha512-+4HQ1WOgxGjwdUHahuQCvBccKVwLDFXpiYd1Gem0xCjC96YXdAMMoHK4LKXZV5v+ktd/9vgqU84R4/APJNWBAw==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.32.0.tgz", + "integrity": "sha512-jukmmipTgyhnVe+Bzo8b8qQNZOTyZGxHZLsBryMEJJSJQwGPIz4eZ5O/GNSRmmBSau9+Fg/TE9rB/4lelE/c0w==", "dev": true, "dependencies": { - "@typespec/lint": "~0.45.0" + "@typespec/lint": "~0.46.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/rest": "~0.45.0", - "@typespec/versioning": "~0.45.0" + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/rest": "~0.46.0", + "@typespec/versioning": "~0.46.0" } }, "node_modules/@azure-tools/typespec-providerhub": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-providerhub/-/typespec-providerhub-0.31.0.tgz", - "integrity": "sha512-96tx3wKl9hHk1mS8HgFY1Bs9yO95dMJilGrdORi/UNdv5GZLlYu7OOqH5HAcGVmxjcvBvKOCvCqmrhCz46boYQ==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-providerhub/-/typespec-providerhub-0.32.0.tgz", + "integrity": "sha512-x6wrTxe8GdaY5RCiPLgLcKXNeIwbH7CNg+6M3DQ9DHWVEigr0tdSHUkyozLeqmaMbxUYUScinRzxoy/LR9Cklw==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@azure-tools/typespec-autorest": "~0.31.0", - "@azure-tools/typespec-azure-core": "~0.31.0", - "@azure-tools/typespec-azure-resource-manager": "~0.31.0", - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/openapi": "~0.45.0", - "@typespec/rest": "~0.45.0", - "@typespec/versioning": "~0.45.0" + "@azure-tools/typespec-autorest": "~0.32.0", + "@azure-tools/typespec-azure-core": "~0.32.0", + "@azure-tools/typespec-azure-resource-manager": "~0.32.0", + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/openapi": "~0.46.0", + "@typespec/rest": "~0.46.0", + "@typespec/versioning": "~0.46.0" } }, "node_modules/@azure-tools/typespec-validation": { @@ -848,9 +857,9 @@ "dev": true }, "node_modules/@ts-common/virtual-fs/node_modules/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", "dev": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -926,22 +935,22 @@ "dev": true }, "node_modules/@typespec/compiler": { - "version": "0.45.2", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.45.2.tgz", - "integrity": "sha512-Te2mj24Sh0MinXPzPLINXRrjMuvuu2AsrBWrDWYjTgodt6MMRj5HiovxByFcYIjWUL3U4sHdKPXcOnAunDsd+Q==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.46.0.tgz", + "integrity": "sha512-CTt6WzGCUwXJ1w8Tto6/C3MtSa220Fo9pE2c4s+X620TxHV1kUb6ifOIkLonBbUHM++qSjXjG19kASoHXAQ08g==", "dev": true, "dependencies": { - "@babel/code-frame": "~7.21.4", + "@babel/code-frame": "~7.22.5", "ajv": "~8.12.0", "change-case": "~4.1.2", "globby": "~13.1.1", "js-yaml": "~4.1.0", - "mkdirp": "~2.1.6", "mustache": "~4.2.0", "node-watch": "~0.7.1", "picocolors": "~1.0.0", "prettier": "~2.8.7", "prompts": "~2.4.1", + "semver": "^7.3.8", "vscode-languageserver": "~8.1.0", "vscode-languageserver-textdocument": "~1.0.1", "yargs": "~17.7.1" @@ -955,12 +964,12 @@ } }, "node_modules/@typespec/compiler/node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1047,21 +1056,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typespec/compiler/node_modules/mkdirp": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz", - "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==", - "dev": true, - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typespec/compiler/node_modules/vscode-jsonrpc": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz", @@ -1153,65 +1147,65 @@ } }, "node_modules/@typespec/http": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.45.0.tgz", - "integrity": "sha512-D9B+CzDqoIvlerQL5R7k367R5pwvX5Ic/6YE3bkMzfq9G40TRz5ExpOf+ASmgRbKrWjm/0ppdE4IlRMCI6qFmA==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.46.0.tgz", + "integrity": "sha512-MGZxRvgqsbTlHUFd7ueWwoIXMf0ZPjWtg7K4GjfS0XR4EAmag3zz4Y85QK6vSNFj7q7SxvLMKCezlCoo8KB1SA==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0" + "@typespec/compiler": "~0.46.0" } }, "node_modules/@typespec/lint": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@typespec/lint/-/lint-0.45.0.tgz", - "integrity": "sha512-dACuEDQD1CFLftiKIcbWrARMb7lKEXMKE+GzsSa39Xogxv4FH6wc932tPwcMXXTdpfDO2dWUoquEcvXHxUAYKQ==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/lint/-/lint-0.46.0.tgz", + "integrity": "sha512-aIW4rnBFhjMbfdLdPw0u5sx2Gn4uOWhqp4ttLv27hy8/itsDBEPzDd9ID+gy6AlsRqfJRwnK3xRiknLr+No6wA==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0" + "@typespec/compiler": "~0.46.0" } }, "node_modules/@typespec/openapi": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.45.0.tgz", - "integrity": "sha512-6W6DMCiXb2iLH4TLgI/u8FFS5v/oBu0DZF2BER6Pzx6v5mURmYGjXiwrQ+DrkOXtqb0YLZMuDU1s9CXQe6P87Q==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.46.0.tgz", + "integrity": "sha512-br54z+FpLU7T08Q89KBnhrGM7U+LfI0KnTbqpb0c8M0NZ+nbJvKGAVAHO/NcCA6J8L3TTEkUC1GaWhiwrUF8RQ==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0", - "@typespec/http": "~0.45.0", - "@typespec/rest": "~0.45.0" + "@typespec/compiler": "~0.46.0", + "@typespec/http": "~0.46.0", + "@typespec/rest": "~0.46.0" } }, "node_modules/@typespec/rest": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.45.0.tgz", - "integrity": "sha512-u9vFmXvoKdkffh0I2LDDPAKNpILuaxu/aaMRdLEw1Zfmes2mWDruReMjPU8piRB+hE5eDDxU4INPtudy2D61tA==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.46.0.tgz", + "integrity": "sha512-WmSCI/J1QRy9W6Cq9595jqjyzCTYpOAWzzVDNMdyWH66BRVp3ckBdaXRynq1HfkUBaRd9qQCZGv1rA6qqhVTCA==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0" + "@typespec/compiler": "~0.46.0" } }, "node_modules/@typespec/versioning": { - "version": "0.45.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.45.0.tgz", - "integrity": "sha512-Hocyi9AAuPu9az7Aw4GiWk5CUhq9CQBx8KEDVqIEBI1AvZACPNqJU02TClSyMSKWZY6V/2Gb8lxvPyNvyiF8Hw==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.46.0.tgz", + "integrity": "sha512-f0/pxvV+CZAfFZjQYS/tVm3qY9BigijCtja1vPeHBqe92TxQW10+He82LLOv6udAdRzuy+Zd+B8kzLVXa3ShUQ==", "dev": true, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.45.0" + "@typespec/compiler": "~0.46.0" } }, "node_modules/ajv": { @@ -1275,6 +1269,10 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, + "node_modules/azure-rest-api-specs-eng-tools": { + "resolved": "eng/tools", + "link": true + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1556,9 +1554,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -2347,9 +2345,9 @@ } }, "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" diff --git a/package.json b/package.json index aa91a25e21fc..04c8ab07c302 100644 --- a/package.json +++ b/package.json @@ -7,24 +7,21 @@ "@azure-tools/cadl-azure-resource-manager": "0.26.0", "@azure-tools/cadl-providerhub": "0.26.0", "@azure-tools/typespec-apiview": "0.4.4", - "@azure-tools/typespec-autorest": "0.31.0", - "@azure-tools/typespec-azure-core": "0.31.0", - "@azure-tools/typespec-azure-resource-manager": "0.31.0", - "@azure-tools/typespec-client-generator-core": "0.31.0", - "@azure-tools/typespec-providerhub": "0.31.0", - "@azure-tools/typespec-validation": "file:eng/tools/TypeSpecValidation", - "@typespec/compiler": "0.45.2", - "@typespec/http": "0.45.0", - "@typespec/openapi": "0.45.0", - "@typespec/rest": "0.45.0", - "@typespec/versioning": "0.45.0", + "@azure-tools/typespec-autorest": "0.32.0", + "@azure-tools/typespec-azure-core": "0.32.0", + "@azure-tools/typespec-azure-resource-manager": "0.32.0", + "@azure-tools/typespec-client-generator-core": "0.32.0", + "@azure-tools/typespec-providerhub": "0.32.0", + "@typespec/compiler": "0.46.0", + "@typespec/http": "0.46.0", + "@typespec/openapi": "0.46.0", + "@typespec/rest": "0.46.0", + "@typespec/versioning": "0.46.0", "@azure/avocado": "^0.8.4", "@types/prettier": "^2.7.2", + "azure-rest-api-specs-eng-tools": "file:eng/tools", "prettier": "^2.8.8", "typescript": "~5.0.4" }, - "scripts": { - "build": "npx --no tsc -- -p eng/tools/TypeSpecValidation" - }, "private": true } diff --git a/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json index e71b73b5e034..45eb8e9fc046 100644 --- a/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json +++ b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json @@ -1876,19 +1876,16 @@ "allOf": [ { "$ref": "#/definitions/AuthCredentials" - }, - { - "required": [ - "apiKey" - ], - "type": "object", - "properties": { - "apiKey": { - "$ref": "#/definitions/KeyVaultProperties" - } - } } ], + "required": [ + "apiKey" + ], + "properties": { + "apiKey": { + "$ref": "#/definitions/KeyVaultProperties" + } + }, "x-ms-discriminator-value": "ApiKeyAuthCredentials" }, "ApiProperties": { @@ -2577,25 +2574,22 @@ "allOf": [ { "$ref": "#/definitions/AuthCredentials" - }, - { - "required": [ - "clientId", - "clientSecret" - ], - "type": "object", - "properties": { - "clientId": { - "description": "ClientId associated with the provider.", - "minLength": 1, - "type": "string" - }, - "clientSecret": { - "$ref": "#/definitions/KeyVaultProperties" - } - } } ], + "required": [ + "clientId", + "clientSecret" + ], + "properties": { + "clientId": { + "description": "ClientId associated with the provider.", + "minLength": 1, + "type": "string" + }, + "clientSecret": { + "$ref": "#/definitions/KeyVaultProperties" + } + }, "x-ms-discriminator-value": "OAuthClientCredentials" }, "PublicNetworkAccess": { diff --git a/specification/apicenter/resource-manager/readme.python.md b/specification/apicenter/resource-manager/readme.python.md index 11f22bed5a6f..ca0545ca2c3a 100644 --- a/specification/apicenter/resource-manager/readme.python.md +++ b/specification/apicenter/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: ApiCenterMgmtClient azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-apicenter diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/Jobs.json b/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/Jobs.json index c0966687ef14..2842db8f0521 100644 --- a/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/Jobs.json +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-11-01-preview/Jobs.json @@ -352,8 +352,8 @@ { "name": "template", "in": "body", - "description": "Properties used to start a job instance.", - "required": true, + "description": "Properties used to start a job execution.", + "required": false, "schema": { "$ref": "#/definitions/JobExecutionTemplate" } diff --git a/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/Jobs.json b/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/Jobs.json index a3c40cdf794b..6432dc1fd423 100644 --- a/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/Jobs.json +++ b/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/Jobs.json @@ -333,8 +333,8 @@ { "name": "template", "in": "body", - "description": "Properties used to start a job instance.", - "required": true, + "description": "Properties used to start a job execution.", + "required": false, "schema": { "$ref": "#/definitions/JobExecutionTemplate" } diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/AuthConfigs.json new file mode 100644 index 000000000000..ca7d0b7a280c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/AuthConfigs.json @@ -0,0 +1,980 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get the Container App AuthConfigs in a given resource group.", + "operationId": "ContainerAppsAuthConfigs_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfigCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Auth Configs by Container Apps": { + "$ref": "./examples/AuthConfigs_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName}": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get a AuthConfig of a Container App.", + "operationId": "ContainerAppsAuthConfigs_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "authConfigName", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's AuthConfig": { + "$ref": "./examples/AuthConfigs_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Create or update the AuthConfig for a Container App.", + "description": "Create or update the AuthConfig for a Container App.", + "operationId": "ContainerAppsAuthConfigs_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "authConfigName", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "name": "authConfigEnvelope", + "in": "body", + "description": "Properties used to create a Container App AuthConfig", + "required": true, + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Delete a Container App AuthConfig.", + "description": "Delete a Container App AuthConfig.", + "operationId": "ContainerAppsAuthConfigs_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "authConfigName", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "204": { + "description": "Container App AuthConfig does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_Delete.json" + } + } + } + } + }, + "definitions": { + "AuthConfigCollection": { + "description": "AuthConfig collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthConfig" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AuthConfig": { + "description": "Configuration settings for the Azure ContainerApp Service Authentication / Authorization feature.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "AuthConfig resource specific properties", + "type": "object", + "properties": { + "platform": { + "$ref": "#/definitions/AuthPlatform", + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "globalValidation": { + "$ref": "#/definitions/GlobalValidation", + "description": "The configuration settings that determines the validation flow of users using Service Authentication/Authorization." + }, + "identityProviders": { + "$ref": "#/definitions/IdentityProviders", + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "$ref": "#/definitions/Login", + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "$ref": "#/definitions/HttpSettings", + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + } + }, + "x-ms-client-flatten": true + } + } + }, + "AuthPlatform": { + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "enabled": { + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", + "type": "boolean" + }, + "runtimeVersion": { + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", + "type": "string" + } + } + }, + "GlobalValidation": { + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientActionV2", + "modelAsString": false + } + }, + "redirectToProvider": { + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", + "type": "string" + }, + "excludedPaths": { + "description": "The paths for which unauthenticated flow would not be redirected to the login page.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HttpSettings": { + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "requireHttps": { + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", + "type": "boolean" + }, + "routes": { + "$ref": "#/definitions/HttpSettingsRoutes", + "description": "The configuration settings of the paths HTTP requests." + }, + "forwardProxy": { + "$ref": "#/definitions/ForwardProxy", + "description": "The configuration settings of a forward proxy used to make the requests." + } + } + }, + "HttpSettingsRoutes": { + "description": "The configuration settings of the paths HTTP requests.", + "type": "object", + "properties": { + "apiPrefix": { + "description": "The prefix that should precede all the authentication/authorization paths.", + "type": "string" + } + } + }, + "ForwardProxy": { + "description": "The configuration settings of a forward proxy used to make the requests.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used to determine the url of the request made.", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ForwardProxyConvention", + "modelAsString": false + } + }, + "customHostHeaderName": { + "description": "The name of the header containing the host of the request.", + "type": "string" + }, + "customProtoHeaderName": { + "description": "The name of the header containing the scheme of the request.", + "type": "string" + } + } + }, + "Login": { + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "routes": { + "$ref": "#/definitions/LoginRoutes", + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "preserveUrlFragmentsForLogins": { + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false.", + "type": "boolean" + }, + "allowedExternalRedirectUrls": { + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", + "type": "array", + "items": { + "type": "string" + } + }, + "cookieExpiration": { + "$ref": "#/definitions/CookieExpiration", + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "$ref": "#/definitions/Nonce", + "description": "The configuration settings of the nonce used in the login flow." + } + } + }, + "LoginRoutes": { + "description": "The routes that specify the endpoints used for login and logout requests.", + "type": "object", + "properties": { + "logoutEndpoint": { + "description": "The endpoint at which a logout request should be made.", + "type": "string" + } + } + }, + "CookieExpiration": { + "description": "The configuration settings of the session cookie's expiration.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used when determining the session cookie's expiration.", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ], + "type": "string", + "x-ms-enum": { + "name": "CookieExpirationConvention", + "modelAsString": false + } + }, + "timeToExpiration": { + "description": "The time after the request is made when the session cookie should expire.", + "type": "string" + } + } + }, + "Nonce": { + "description": "The configuration settings of the nonce used in the login flow.", + "type": "object", + "properties": { + "validateNonce": { + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true.", + "type": "boolean" + }, + "nonceExpirationInterval": { + "description": "The time after the request is made when the nonce should expire.", + "type": "string" + } + } + }, + "IdentityProviders": { + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The configuration settings of the Azure Active directory provider." + }, + "facebook": { + "$ref": "#/definitions/Facebook", + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "$ref": "#/definitions/GitHub", + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "$ref": "#/definitions/Google", + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "$ref": "#/definitions/Twitter", + "description": "The configuration settings of the Twitter provider." + }, + "apple": { + "$ref": "#/definitions/Apple", + "description": "The configuration settings of the Apple provider." + }, + "azureStaticWebApps": { + "$ref": "#/definitions/AzureStaticWebApps", + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } + } + } + }, + "AzureActiveDirectory": { + "description": "The configuration settings of the Azure Active directory provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration", + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin", + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "isAutoProvisioned": { + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryLogin": { + "description": "The configuration settings of the Azure Active Directory login flow.", + "type": "object", + "properties": { + "loginParameters": { + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", + "type": "array", + "items": { + "type": "string" + } + }, + "disableWWWAuthenticate": { + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryRegistration": { + "description": "The configuration settings of the Azure Active Directory app registration.", + "type": "object", + "properties": { + "openIdIssuer": { + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", + "type": "string" + }, + "clientId": { + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret of the relying party application.", + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", + "type": "string" + }, + "clientSecretCertificateSubjectAlternativeName": { + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + }, + "clientSecretCertificateIssuer": { + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + } + } + }, + "AzureActiveDirectoryValidation": { + "description": "The configuration settings of the Azure Active Directory token validation flow.", + "type": "object", + "properties": { + "jwtClaimChecks": { + "$ref": "#/definitions/JwtClaimChecks", + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "allowedAudiences": { + "description": "The list of audiences that can make successful authentication/authorization requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultAuthorizationPolicy": { + "$ref": "#/definitions/DefaultAuthorizationPolicy", + "description": "The configuration settings of the default authorization policy." + } + } + }, + "JwtClaimChecks": { + "description": "The configuration settings of the checks that should be made while validating the JWT Claims.", + "type": "object", + "properties": { + "allowedGroups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedClientApplications": { + "description": "The list of the allowed client applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultAuthorizationPolicy": { + "description": "The configuration settings of the Azure Active Directory default authorization policy.", + "type": "object", + "properties": { + "allowedPrincipals": { + "$ref": "#/definitions/AllowedPrincipals", + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "allowedApplications": { + "description": "The configuration settings of the Azure Active Directory allowed applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AllowedPrincipals": { + "description": "The configuration settings of the Azure Active Directory allowed principals.", + "type": "object", + "properties": { + "groups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "identities": { + "description": "The list of the allowed identities.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Facebook": { + "description": "The configuration settings of the Facebook provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppRegistration", + "description": "The configuration settings of the app registration for the Facebook provider." + }, + "graphApiVersion": { + "description": "The version of the Facebook api to be used while logging in.", + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppRegistration": { + "description": "The configuration settings of the app registration for providers that have app ids and app secrets", + "type": "object", + "properties": { + "appId": { + "description": "The App ID of the app used for login.", + "type": "string" + }, + "appSecretSettingName": { + "description": "The app setting name that contains the app secret.", + "type": "string" + } + } + }, + "LoginScopes": { + "description": "The configuration settings of the login flow, including the scopes that should be requested.", + "type": "object", + "properties": { + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GitHub": { + "description": "The configuration settings of the GitHub provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the GitHub provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "ClientRegistration": { + "description": "The configuration settings of the app registration for providers that have client ids and client secrets", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "Google": { + "description": "The configuration settings of the Google provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the Google provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + } + }, + "AllowedAudiencesValidation": { + "description": "The configuration settings of the Allowed Audiences validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Twitter": { + "description": "The configuration settings of the Twitter provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration", + "description": "The configuration settings of the app registration for the Twitter provider." + } + } + }, + "TwitterRegistration": { + "description": "The configuration settings of the app registration for the Twitter provider.", + "type": "object", + "properties": { + "consumerKey": { + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", + "type": "string" + }, + "consumerSecretSettingName": { + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" + } + } + }, + "Apple": { + "description": "The configuration settings of the Apple provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppleRegistration", + "description": "The configuration settings of the Apple registration." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppleRegistration": { + "description": "The configuration settings of the registration for the Apple provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "AzureStaticWebApps": { + "description": "The configuration settings of the Azure Static Web Apps provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureStaticWebAppsRegistration", + "description": "The configuration settings of the Azure Static Web Apps registration." + } + } + }, + "AzureStaticWebAppsRegistration": { + "description": "The configuration settings of the registration for the Azure Static Web Apps provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + } + } + }, + "CustomOpenIdConnectProvider": { + "description": "The configuration settings of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration", + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin", + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectRegistration": { + "description": "The configuration settings of the app registration for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "clientId": { + "description": "The client id of the custom Open ID Connect provider.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential", + "description": "The authentication credentials of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig", + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectClientCredential": { + "description": "The authentication client credentials of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "method": { + "description": "The method that should be used to authenticate the user.", + "enum": [ + "ClientSecretPost" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCredentialMethod", + "modelAsString": false + } + }, + "clientSecretSettingName": { + "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", + "type": "string" + } + } + }, + "OpenIdConnectConfig": { + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "authorizationEndpoint": { + "description": "The endpoint to be used to make an authorization request.", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint to be used to request a token.", + "type": "string" + }, + "issuer": { + "description": "The endpoint that issues the token.", + "type": "string" + }, + "certificationUri": { + "description": "The endpoint that provides the keys necessary to validate the token.", + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "description": "The endpoint that contains all the configuration endpoints for the provider.", + "type": "string" + } + } + }, + "OpenIdConnectLogin": { + "description": "The configuration settings of the login flow of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "nameClaimType": { + "description": "The name of the claim that contains the users name.", + "type": "string" + }, + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/AvailableWorkloadProfiles.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/AvailableWorkloadProfiles.json new file mode 100644 index 000000000000..7a049115d4ac --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/AvailableWorkloadProfiles.json @@ -0,0 +1,144 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/availableManagedEnvironmentsWorkloadProfileTypes": { + "get": { + "tags": [ + "AvailableWorkloadProfiles" + ], + "summary": "Get available workload profiles by location.", + "description": "Get all available workload profiles for a location.", + "operationId": "AvailableWorkloadProfiles_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailableWorkloadProfilesCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BillingMeters_Get": { + "$ref": "./examples/AvailableWorkloadProfiles_Get.json" + } + } + } + } + }, + "definitions": { + "AvailableWorkloadProfile": { + "description": "A workload profile with specific hardware configure to run container apps.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Region of the workload profile." + }, + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "category": { + "description": "Used to categorize workload profiles.", + "type": "string" + }, + "applicability": { + "type": "string", + "description": "indicates whether the profile is default for the location.", + "enum": [ + "LocationDefault", + "Custom" + ], + "x-ms-enum": { + "name": "Applicability", + "modelAsString": true + } + }, + "cores": { + "type": "integer", + "format": "int32", + "description": "Number of cores in CPU." + }, + "memoryGiB": { + "type": "integer", + "format": "int32", + "description": "Memory in GiB." + }, + "displayName": { + "type": "string", + "description": "The everyday name of the workload profile." + } + } + } + } + }, + "AvailableWorkloadProfilesCollection": { + "description": "Collection of available workload profiles in the location.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of workload profiles.", + "type": "array", + "items": { + "$ref": "#/definitions/AvailableWorkloadProfile" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "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" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/BillingMeters.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/BillingMeters.json new file mode 100644 index 000000000000..0c73217931e5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/BillingMeters.json @@ -0,0 +1,118 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/billingMeters": { + "get": { + "tags": [ + "BillingMeters" + ], + "summary": "Get billing meters by location.", + "description": "Get all billingMeters for a location.", + "operationId": "BillingMeters_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BillingMeterCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingMeters_Get": { + "$ref": "./examples/BillingMeters_Get.json" + } + } + } + } + }, + "definitions": { + "BillingMeter": { + "description": "Billing meter.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Region for the billing meter." + }, + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "category": { + "description": "Used to categorize billing meters.", + "type": "string" + }, + "meterType": { + "type": "string", + "description": "Billing meter type." + }, + "displayName": { + "type": "string", + "description": "The everyday name of the billing meter." + } + } + } + } + }, + "BillingMeterCollection": { + "description": "Collection of billing meters.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of billing meters.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingMeter" + } + } + } + } + }, + "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" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/CommonDefinitions.json new file mode 100644 index 000000000000..7cda418aa224 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/CommonDefinitions.json @@ -0,0 +1,1196 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "EnvironmentVar": { + "description": "Container App container environment variable.", + "type": "object", + "properties": { + "name": { + "description": "Environment variable name.", + "type": "string" + }, + "value": { + "description": "Non-secret environment variable value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Container App secret from which to pull the environment variable value.", + "type": "string" + } + } + }, + "WorkloadProfileName": { + "description": "Workload profile name for container apps to execute on.", + "type": "string" + }, + "WorkloadProfileType": { + "description": "Workload profile type for container apps to execute on.", + "type": "string" + }, + "BaseContainer": { + "description": "Container App base container definition.", + "type": "object", + "properties": { + "image": { + "description": "Container image tag.", + "type": "string" + }, + "name": { + "description": "Custom container name.", + "type": "string" + }, + "command": { + "description": "Container start command.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Container start command arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Container environment variables.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resources": { + "$ref": "#/definitions/ContainerResources", + "description": "Container resource requirements." + }, + "volumeMounts": { + "description": "Container volume mounts.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "volumeName" + ] + } + } + }, + "InitContainer": { + "description": "Container App init container definition", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseContainer" + } + ] + }, + "Container": { + "description": "Container App container definition", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BaseContainer" + } + ], + "properties": { + "probes": { + "description": "List of probes for the container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + }, + "x-ms-identifiers": [ + "type" + ] + } + } + }, + "ContainerResources": { + "description": "Container App container resource requirements.", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "Required CPU in cores, e.g. 0.5", + "type": "number" + }, + "memory": { + "description": "Required memory, e.g. \"250Mb\"", + "type": "string" + }, + "ephemeralStorage": { + "description": "Ephemeral Storage, e.g. \"1Gi\"", + "type": "string", + "readOnly": true + } + } + }, + "ContainerAppProbe": { + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "type": "object", + "properties": { + "failureThreshold": { + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "httpGet": { + "description": "HTTPGet specifies the http request to perform.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "type": "array", + "items": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "description": "The header field name", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP.", + "enum": [ + "HTTP", + "HTTPS" + ], + "type": "string", + "x-ms-enum": { + "name": "Scheme", + "modelAsString": true + } + } + } + }, + "initialDelaySeconds": { + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "tcpSocket": { + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the pod IP.", + "type": "string" + }, + "port": { + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + } + } + }, + "terminationGracePeriodSeconds": { + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)", + "type": "integer", + "format": "int64" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "type": { + "description": "The type of probe.", + "enum": [ + "Liveness", + "Readiness", + "Startup" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "CustomScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "type": { + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.", + "type": "string" + }, + "metadata": { + "description": "Metadata properties to describe custom scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "CustomDomainConfiguration": { + "type": "object", + "description": "Configuration properties for apps environment custom domain", + "properties": { + "customDomainVerificationId": { + "description": "Id used to verify domain name ownership", + "type": "string", + "readOnly": true + }, + "dnsSuffix": { + "type": "string", + "description": "Dns suffix for the environment domain", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "certificateValue": { + "format": "byte", + "description": "PFX or PEM blob", + "type": "string", + "x-ms-secret": true + }, + "certificatePassword": { + "description": "Certificate password", + "type": "string", + "x-ms-secret": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + } + } + }, + "DefaultErrorResponse": { + "description": "App Service error response.", + "type": "object", + "properties": { + "error": { + "description": "Error model.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "details": { + "type": "array", + "description": "Details or the error", + "items": { + "description": "Detailed errors.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "x-ms-identifiers": [ + "code" + ] + }, + "innererror": { + "description": "More information to debug error.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "HttpScaleRule": { + "description": "Container App container Http scaling rule.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata properties to describe http scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "TcpScaleRule": { + "description": "Container App container Tcp scaling rule.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata properties to describe tcp scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the tcp scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "QueueScaleRule": { + "description": "Container App container Azure Queue based scaling rule.", + "type": "object", + "properties": { + "queueName": { + "description": "Queue name.", + "type": "string" + }, + "queueLength": { + "format": "int32", + "description": "Queue length.", + "type": "integer" + }, + "auth": { + "description": "Authentication secrets for the queue scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "Scale": { + "description": "Container App scaling configurations.", + "type": "object", + "properties": { + "minReplicas": { + "format": "int32", + "description": "Optional. Minimum number of container replicas.", + "type": "integer" + }, + "maxReplicas": { + "format": "int32", + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.", + "type": "integer", + "default": 10 + }, + "rules": { + "description": "Scaling rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ScaleRule": { + "description": "Container App container scaling rule.", + "type": "object", + "properties": { + "name": { + "description": "Scale Rule Name", + "type": "string" + }, + "azureQueue": { + "$ref": "#/definitions/QueueScaleRule", + "description": "Azure Queue based scaling." + }, + "custom": { + "$ref": "#/definitions/CustomScaleRule", + "description": "Custom scale rule." + }, + "http": { + "$ref": "#/definitions/HttpScaleRule", + "description": "HTTP requests based scaling." + }, + "tcp": { + "$ref": "#/definitions/TcpScaleRule", + "description": "Tcp requests based scaling." + } + } + }, + "ScaleRuleAuth": { + "description": "Auth Secrets for Scale Rule", + "type": "object", + "properties": { + "secretRef": { + "description": "Name of the secret from which to pull the auth params.", + "type": "string" + }, + "triggerParameter": { + "description": "Trigger Parameter that uses the secret", + "type": "string" + } + } + }, + "Secret": { + "description": "Secret definition.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string" + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "identity": { + "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.", + "type": "string" + }, + "keyVaultUrl": { + "description": "Azure Key Vault URL pointing to the secret referenced by the container app.", + "type": "string" + } + } + }, + "Template": { + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created", + "type": "object", + "properties": { + "revisionSuffix": { + "description": "User friendly suffix that is appended to the revision name", + "type": "string" + }, + "terminationGracePeriodSeconds": { + "description": "Optional duration in seconds the Container App Instance needs to terminate gracefully. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + "format": "int64", + "type": "integer" + }, + "initContainers": { + "description": "List of specialized containers that run before app containers.", + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "containers": { + "description": "List of container definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scale": { + "$ref": "#/definitions/Scale", + "description": "Scaling properties for the Container App." + }, + "volumes": { + "description": "List of volume definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "serviceBinds": { + "description": "List of container app services bound to the app", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceBind" + }, + "x-ms-identifier": [ + "name" + ] + } + } + }, + "Volume": { + "description": "Volume definitions for the Container App.", + "type": "object", + "properties": { + "name": { + "description": "Volume name.", + "type": "string" + }, + "storageType": { + "description": "Storage type for the volume. If not provided, use EmptyDir.", + "enum": [ + "AzureFile", + "EmptyDir", + "Secret" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageName": { + "description": "Name of storage resource. No need to provide for EmptyDir and Secret.", + "type": "string" + }, + "secrets": { + "description": "List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume.", + "type": "array", + "items": { + "$ref": "#/definitions/SecretVolumeItem" + }, + "x-ms-identifiers": [ + "secretRef" + ] + }, + "mountOptions": { + "description": "Mount options used while mounting the AzureFile. Must be a comma-separated string.", + "type": "string" + } + } + }, + "SecretVolumeItem": { + "description": "Secret to be added to volume.", + "type": "object", + "properties": { + "secretRef": { + "description": "Name of the Container App secret from which to pull the secret value.", + "type": "string" + }, + "path": { + "description": "Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.", + "type": "string" + } + } + }, + "VolumeMount": { + "description": "Volume mount for the Container App.", + "type": "object", + "properties": { + "volumeName": { + "description": "This must match the Name of a Volume.", + "type": "string" + }, + "mountPath": { + "description": "Path within the container at which the volume should be mounted.Must not contain ':'.", + "type": "string" + }, + "subPath": { + "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", + "type": "string" + } + } + }, + "DaprComponentsCollection": { + "description": "Dapr Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprComponent": { + "description": "Dapr Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr Component resource specific properties", + "type": "object", + "properties": { + "componentType": { + "description": "Component type", + "type": "string" + }, + "version": { + "description": "Component version", + "type": "string" + }, + "ignoreErrors": { + "description": "Boolean describing if the component errors are ignores", + "type": "boolean", + "default": false + }, + "initTimeout": { + "description": "Initialization timeout", + "type": "string" + }, + "secrets": { + "description": "Collection of secrets used by a Dapr component", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "secretStoreComponent": { + "description": "Name of a Dapr component to retrieve component secrets from", + "type": "string" + }, + "metadata": { + "description": "Component metadata", + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scopes": { + "description": "Names of container apps that can use this Dapr component", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprMetadata": { + "description": "Dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Metadata property name.", + "type": "string" + }, + "value": { + "description": "Metadata property value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Dapr Component secret from which to pull the metadata property value.", + "type": "string" + } + } + }, + "DaprSecretsCollection": { + "description": "Dapr component Secrets Collection for ListSecrets Action.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of secrets used by a Dapr component", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSecret" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "DaprSecret": { + "description": "Dapr component Secret for ListSecrets Action", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + } + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "CustomLocation" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "AzureFileProperties": { + "description": "Azure File Properties.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name for azure file.", + "type": "string" + }, + "accountKey": { + "description": "Storage account key for azure file.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "Azure file share name.", + "type": "string" + } + } + }, + "Certificate": { + "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the certificate.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "DeleteFailed", + "Pending" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": true + } + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "subjectAlternativeNames": { + "description": "Subject alternative names the certificate applies to.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "value": { + "format": "byte", + "description": "PFX or PEM blob", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + } + } + } + }, + "x-ms-client-flatten": true + }, + "CertificateCollection": { + "description": "Collection of Certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CertificatePatch": { + "description": "A certificate to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "ManagedCertificate": { + "description": "Managed certificates used for Custom Domain bindings of Container Apps in a Managed Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the certificate.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "DeleteFailed", + "Pending" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": true + } + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string" + }, + "error": { + "description": "Any error occurred during the certificate provision.", + "type": "string", + "readOnly": true + }, + "domainControlValidation": { + "description": "Selected type of domain control validation for managed certificates.", + "enum": [ + "CNAME", + "HTTP", + "TXT" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedCertificateDomainControlValidation", + "modelAsString": true + } + }, + "validationToken": { + "description": "A TXT token used for DNS TXT domain control validation when issuing this type of managed certificates.", + "type": "string", + "readOnly": true + } + } + } + }, + "x-ms-client-flatten": true + }, + "ManagedCertificatePatch": { + "description": "A managed certificate to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "ManagedCertificateCollection": { + "description": "Collection of Managed Certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCertificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "JobTemplate": { + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created", + "type": "object", + "properties": { + "initContainers": { + "description": "List of specialized containers that run before app containers.", + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "containers": { + "description": "List of container definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "volumes": { + "description": "List of volume definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ServiceBind": { + "description": "Configuration to bind a ContainerApp to a dev ContainerApp Service", + "type": "object", + "properties": { + "serviceId": { + "description": "Resource id of the target service", + "type": "string" + }, + "name": { + "description": "Name of the service bind", + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironments.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironments.json new file mode 100644 index 000000000000..ffa4791be2e0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironments.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/connectedEnvironments": { + "get": { + "tags": [ + "ConnectedEnvironments" + ], + "summary": "Get all connectedEnvironments for a subscription.", + "description": "Get all connectedEnvironments for a subscription.", + "operationId": "ConnectedEnvironments_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List connected environments by subscription": { + "$ref": "./examples/ConnectedEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments": { + "get": { + "tags": [ + "ConnectedEnvironments" + ], + "operationId": "ConnectedEnvironments_ListByResourceGroup", + "description": "Get all connectedEnvironments in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by resource group": { + "$ref": "./examples/ConnectedEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}": { + "get": { + "tags": [ + "ConnectedEnvironments" + ], + "operationId": "ConnectedEnvironments_Get", + "description": "Get the properties of an connectedEnvironment.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connectedEnvironment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connected environment by connectedEnvironmentName": { + "$ref": "./examples/ConnectedEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "ConnectedEnvironments" + ], + "description": "Creates or updates an connectedEnvironment.", + "operationId": "ConnectedEnvironments_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connectedEnvironment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the connectedEnvironment.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create kube environments": { + "$ref": "./examples/ConnectedEnvironments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ConnectedEnvironments" + ], + "summary": "Delete an connectedEnvironment.", + "description": "Delete an connectedEnvironment.", + "operationId": "ConnectedEnvironments_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connectedEnvironment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "ConnectedEnvironment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete connected environment by connectedEnvironmentName": { + "$ref": "./examples/ConnectedEnvironments_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ConnectedEnvironments" + ], + "summary": "Update connected Environment's properties.", + "description": "Patches a Managed Environment. Only patching of tags is supported currently", + "operationId": "ConnectedEnvironments_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connectedEnvironment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Environment": { + "$ref": "./examples/ConnectedEnvironments_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/checkNameAvailability": { + "post": { + "tags": [ + "ConnectedEnvironments" + ], + "summary": "Checks the resource connectedEnvironmentName availability.", + "description": "Checks if resource connectedEnvironmentName is available.", + "operationId": "ConnectedEnvironments_CheckNameAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "checkNameAvailabilityRequest", + "in": "body", + "description": "The check connectedEnvironmentName availability request.", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Certificates_CheckNameAvailability": { + "$ref": "./examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json" + } + } + } + } + }, + "definitions": { + "ConnectedEnvironment": { + "description": "An environment for Kubernetes cluster specialized for web workloads by Azure App Service", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" + }, + "properties": { + "description": "ConnectedEnvironment resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Kubernetes Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConnectedEnvironmentProvisioningState", + "modelAsString": true + } + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the connectedEnvironment", + "type": "string" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry", + "x-ms-secret": true + }, + "customDomainConfiguration": { + "$ref": "./CommonDefinitions.json#/definitions/CustomDomainConfiguration", + "description": "Custom domain configuration for the environment" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ConnectedEnvironmentCollection": { + "description": "Collection of connectedEnvironments", + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectedEnvironment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsCertificates.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsCertificates.json new file mode 100644 index 000000000000..895e962c8f06 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsCertificates.json @@ -0,0 +1,315 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/certificates": { + "get": { + "tags": [ + "ConnectedEnvironments", + "Certificates" + ], + "summary": "Get the Certificates in a given connected environment.", + "operationId": "ConnectedEnvironmentsCertificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Connected Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by Connected Environment": { + "$ref": "./examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/certificates/{certificateName}": { + "get": { + "tags": [ + "ConnectedEnvironments", + "Certificates" + ], + "summary": "Get the specified Certificate.", + "operationId": "ConnectedEnvironmentsCertificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Connected Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/ConnectedEnvironmentsCertificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ConnectedEnvironments", + "Certificates" + ], + "summary": "Create or Update a Certificate.", + "operationId": "ConnectedEnvironmentsCertificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Connected Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Certificate to be created or updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ConnectedEnvironments", + "Certificates" + ], + "summary": "Deletes the specified Certificate.", + "operationId": "ConnectedEnvironmentsCertificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Connected Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/ConnectedEnvironmentsCertificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ConnectedEnvironments", + "Certificates" + ], + "summary": "Update properties of a certificate", + "description": "Patches a certificate. Currently only patching of tags is supported", + "operationId": "ConnectedEnvironmentsCertificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Connected Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a certificate that need to be updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Certificate updated successfully.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/ConnectedEnvironmentsCertificates_Patch.json" + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsDaprComponents.json new file mode 100644 index 000000000000..fb6b10e4d0ed --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsDaprComponents.json @@ -0,0 +1,307 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get the Dapr Components for a connected environment.", + "operationId": "ConnectedEnvironmentsDaprComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connected environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr Components": { + "$ref": "./examples/ConnectedEnvironmentsDaprComponents_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents/{componentName}": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get a dapr component.", + "operationId": "ConnectedEnvironmentsDaprComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connected environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr Component": { + "$ref": "./examples/ConnectedEnvironmentsDaprComponents_Get.json" + } + } + }, + "put": { + "tags": [ + "DaprComponents" + ], + "summary": "Creates or updates a Dapr Component.", + "description": "Creates or updates a Dapr Component in a connected environment.", + "operationId": "ConnectedEnvironmentsDaprComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connected environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr component": { + "$ref": "./examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponents" + ], + "summary": "Delete a Dapr Component.", + "description": "Delete a Dapr Component from a connected environment.", + "operationId": "ConnectedEnvironmentsDaprComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connected environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component": { + "$ref": "./examples/ConnectedEnvironmentsDaprComponents_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/daprComponents/{componentName}/listSecrets": { + "post": { + "tags": [ + "DaprComponents" + ], + "summary": "List secrets for a dapr component", + "operationId": "ConnectedEnvironmentsDaprComponents_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the connected environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Secrets": { + "$ref": "./examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json" + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsStorages.json new file mode 100644 index 000000000000..e85c2daea101 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsStorages.json @@ -0,0 +1,290 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/storages": { + "get": { + "tags": [ + "ConnectedEnvironmentsStorages" + ], + "summary": "Get all storages for a connectedEnvironment.", + "description": "Get all storages for a connectedEnvironment.", + "operationId": "ConnectedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ConnectedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/connectedEnvironments/{connectedEnvironmentName}/storages/{storageName}": { + "get": { + "tags": [ + "ConnectedEnvironmentsStorages" + ], + "summary": "Get storage for a connectedEnvironment.", + "description": "Get storage for a connectedEnvironment.", + "operationId": "ConnectedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ConnectedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ConnectedEnvironmentsStorages" + ], + "summary": "Create or update storage for a connectedEnvironment.", + "description": "Create or update storage for a connectedEnvironment.", + "operationId": "ConnectedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ConnectedEnvironmentsStorages" + ], + "summary": "Delete storage for a connectedEnvironment.", + "description": "Delete storage for a connectedEnvironment.", + "operationId": "ConnectedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "connectedEnvironmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ConnectedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "ConnectedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectedEnvironmentStorage" + } + } + } + }, + "ConnectedEnvironmentStorage": { + "description": "Storage resource for connectedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerApps.json new file mode 100644 index 000000000000..38b62dee7e09 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerApps.json @@ -0,0 +1,1363 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given subscription.", + "operationId": "ContainerApps_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by subscription": { + "$ref": "./examples/ContainerApps_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given resource group.", + "operationId": "ContainerApps_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by resource group": { + "$ref": "./examples/ContainerApps_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the properties of a Container App.", + "operationId": "ContainerApps_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "404": { + "description": "Not found.", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App": { + "$ref": "./examples/ContainerApps_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerApps" + ], + "summary": "Create or update a Container App.", + "description": "Create or update a Container App.", + "operationId": "ContainerApps_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "description": "Properties used to create a container app", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "201": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App": { + "$ref": "./examples/ContainerApps_CreateOrUpdate.json" + }, + "Create or Update Tcp App": { + "$ref": "./examples/ContainerApps_TcpApp_CreateOrUpdate.json" + }, + "Create or Update ManagedBy App": { + "$ref": "./examples/ContainerApps_ManagedBy_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ContainerApps" + ], + "summary": "Delete a Container App.", + "description": "Delete a Container App.", + "operationId": "ContainerApps_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "202": { + "description": "Delete operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Container App does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App": { + "$ref": "./examples/ContainerApps_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ContainerApps" + ], + "summary": "Update properties of a Container App", + "description": "Patches a Container App using JSON Merge Patch", + "operationId": "ContainerApps_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "required": true, + "description": "Properties of a Container App that need to be updated", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "202": { + "description": "Patch operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Container App": { + "$ref": "./examples/ContainerApps_Patch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listCustomHostNameAnalysis": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Analyzes a custom hostname for a Container App", + "operationId": "ContainerApps_ListCustomHostNameAnalysis", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "customHostname", + "in": "query", + "description": "Custom hostname.", + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomHostnameAnalysisResult" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze Custom Hostname": { + "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listSecrets": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "List secrets for a container app", + "operationId": "ContainerApps_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Secrets": { + "$ref": "./examples/ContainerApps_ListSecrets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/getAuthtoken": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Get auth token for a container app", + "operationId": "ContainerApps_GetAuthToken", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppAuthToken" + } + }, + "404": { + "description": "Not found.", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App Auth Token": { + "$ref": "./examples/ContainerApps_GetAuthToken.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/start": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Start a container app", + "operationId": "ContainerApps_Start", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + } + ], + "responses": { + "200": { + "description": "Container App started successfully.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "202": { + "description": "Start operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Start Container App": { + "$ref": "./examples/ContainerApps_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/stop": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Stop a container app", + "operationId": "ContainerApps_Stop", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + } + ], + "responses": { + "200": { + "description": "Container App stopped successfully.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "202": { + "description": "Stop operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop Container App": { + "$ref": "./examples/ContainerApps_Stop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "Configuration": { + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app", + "type": "object", + "properties": { + "secrets": { + "description": "Collection of secrets used by a Container app", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "activeRevisionsMode": { + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active.Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.", + "enum": [ + "Multiple", + "Single" + ], + "type": "string", + "default": "Single", + "x-ms-enum": { + "name": "ActiveRevisionsMode", + "modelAsString": true + } + }, + "ingress": { + "$ref": "#/definitions/Ingress", + "description": "Ingress configurations." + }, + "registries": { + "description": "Collection of private container registry credentials for containers used by the Container app", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + }, + "x-ms-identifiers": [ + "server" + ] + }, + "dapr": { + "$ref": "#/definitions/Dapr", + "description": "Dapr configuration for the Container App." + }, + "maxInactiveRevisions": { + "format": "int32", + "description": "Optional. Max inactive revisions a Container App can have.", + "type": "integer" + }, + "service": { + "$ref": "#/definitions/Service", + "description": "Container App to be a dev Container App Service" + } + } + }, + "ContainerApp": { + "description": "Container App.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" + }, + "identity": { + "description": "managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "managedBy": { + "type": "string", + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + }, + "properties": { + "description": "ContainerApp resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Container App.", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerAppProvisioningState", + "modelAsString": true + } + }, + "managedEnvironmentId": { + "description": "Deprecated. Resource ID of the Container App's environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "environmentId": { + "description": "Resource ID of environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "workloadProfileName": { + "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName", + "description": "Workload profile name to pin for container app execution." + }, + "latestRevisionName": { + "description": "Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "latestReadyRevisionName": { + "description": "Name of the latest ready revision of the Container App.", + "type": "string", + "readOnly": true + }, + "latestRevisionFqdn": { + "description": "Fully Qualified Domain Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "customDomainVerificationId": { + "description": "Id used to verify domain name ownership", + "type": "string", + "readOnly": true + }, + "configuration": { + "$ref": "#/definitions/Configuration", + "description": "Non versioned Container App configuration properties." + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App versioned application definition." + }, + "outboundIpAddresses": { + "description": "Outbound IP Addresses for container app.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "eventStreamEndpoint": { + "description": "The endpoint of the eventstream of the container app.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ContainerAppCollection": { + "description": "Container App collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerApp" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Dapr": { + "description": "Container App Dapr configuration.", + "type": "object", + "properties": { + "enabled": { + "description": "Boolean indicating if the Dapr side car is enabled", + "type": "boolean", + "default": false + }, + "appId": { + "description": "Dapr application identifier", + "type": "string" + }, + "appProtocol": { + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http", + "enum": [ + "http", + "grpc" + ], + "type": "string", + "default": "http", + "x-ms-enum": { + "name": "appProtocol", + "modelAsString": true + } + }, + "appPort": { + "format": "int32", + "description": "Tells Dapr which port your application is listening on", + "type": "integer" + }, + "httpReadBufferSize": { + "type": "integer", + "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB.", + "format": "int32" + }, + "httpMaxRequestSize": { + "type": "integer", + "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB.", + "format": "int32" + }, + "logLevel": { + "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.", + "enum": [ + "info", + "debug", + "warn", + "error" + ], + "type": "string", + "x-ms-enum": { + "name": "logLevel", + "modelAsString": true + } + }, + "enableApiLogging": { + "description": "Enables API logging for the Dapr sidecar", + "type": "boolean" + } + } + }, + "Ingress": { + "description": "Container App Ingress configuration.", + "type": "object", + "properties": { + "fqdn": { + "description": "Hostname.", + "type": "string", + "readOnly": true + }, + "external": { + "description": "Bool indicating if app exposes an external http endpoint", + "default": false, + "type": "boolean" + }, + "targetPort": { + "format": "int32", + "description": "Target Port in containers for traffic from ingress", + "type": "integer" + }, + "exposedPort": { + "format": "int32", + "description": "Exposed Port in containers for TCP traffic from ingress", + "type": "integer" + }, + "transport": { + "description": "Ingress transport protocol", + "enum": [ + "auto", + "http", + "http2", + "tcp" + ], + "type": "string", + "default": "auto", + "x-ms-enum": { + "name": "IngressTransportMethod", + "modelAsString": true + } + }, + "traffic": { + "description": "Traffic weights for app's revisions", + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + }, + "x-ms-identifiers": [ + "revisionName" + ] + }, + "customDomains": { + "description": "custom domain bindings for Container Apps' hostnames.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "allowInsecure": { + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections", + "type": "boolean", + "default": false + }, + "ipSecurityRestrictions": { + "description": "Rules to restrict incoming IP address.", + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestrictionRule" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "stickySessions": { + "description": "Sticky Sessions for Single Revision Mode", + "type": "object", + "properties": { + "affinity": { + "description": "Sticky Session Affinity", + "enum": [ + "sticky", + "none" + ], + "type": "string", + "x-ms-enum": { + "name": "affinity", + "modelAsString": true + } + } + } + }, + "clientCertificateMode": { + "description": "Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate.", + "enum": [ + "ignore", + "accept", + "require" + ], + "type": "string", + "x-ms-enum": { + "name": "IngressClientCertificateMode", + "modelAsString": true + } + }, + "corsPolicy": { + "description": "CORS policy for container app", + "$ref": "#/definitions/CorsPolicy" + } + } + }, + "RegistryCredentials": { + "description": "Container App Private Registry", + "type": "object", + "properties": { + "server": { + "description": "Container Registry Server", + "type": "string" + }, + "username": { + "description": "Container Registry Username", + "type": "string" + }, + "passwordSecretRef": { + "description": "The name of the Secret that contains the registry login password", + "type": "string" + }, + "identity": { + "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'", + "type": "string" + } + } + }, + "SecretsCollection": { + "description": "Container App Secrets Collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppSecret" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ContainerAppSecret": { + "description": "Container App Secret.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + }, + "identity": { + "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.", + "type": "string", + "readOnly": true + }, + "keyVaultUrl": { + "description": "Azure Key Vault URL pointing to the secret referenced by the container app.", + "type": "string", + "readOnly": true + } + } + }, + "TrafficWeight": { + "description": "Traffic weight assigned to a revision", + "type": "object", + "properties": { + "revisionName": { + "description": "Name of a revision", + "type": "string" + }, + "weight": { + "format": "int32", + "description": "Traffic weight assigned to a revision", + "type": "integer" + }, + "latestRevision": { + "description": "Indicates that the traffic weight belongs to a latest stable revision", + "default": false, + "type": "boolean" + }, + "label": { + "description": "Associates a traffic label with a revision", + "type": "string" + } + } + }, + "CustomDomain": { + "description": "Custom Domain of a Container App", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Hostname.", + "type": "string" + }, + "bindingType": { + "description": "Custom Domain binding type.", + "enum": [ + "Disabled", + "SniEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "bindingType", + "modelAsString": true + } + }, + "certificateId": { + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.", + "type": "string" + } + } + }, + "IpSecurityRestrictionRule": { + "description": "Rule to restrict incoming IP address.", + "type": "object", + "required": [ + "name", + "ipAddressRange", + "action" + ], + "properties": { + "name": { + "description": "Name for the IP restriction rule.", + "type": "string" + }, + "description": { + "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field.", + "type": "string" + }, + "ipAddressRange": { + "description": "CIDR notation to match incoming IP address", + "type": "string" + }, + "action": { + "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "action", + "modelAsString": true + } + } + } + }, + "CorsPolicy": { + "description": "Cross-Origin-Resource-Sharing policy", + "type": "object", + "required": [ + "allowedOrigins" + ], + "properties": { + "allowedOrigins": { + "description": "Specifies the content for the access-control-allow-origins header", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedMethods": { + "description": "Specifies the content for the access-control-allow-methods header", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedHeaders": { + "description": "Specifies the content for the access-control-allow-headers header", + "type": "array", + "items": { + "type": "string" + } + }, + "exposeHeaders": { + "description": "Specifies the content for the access-control-expose-headers header ", + "type": "array", + "items": { + "type": "string" + } + }, + "maxAge": { + "format": "int32", + "description": "Specifies the content for the access-control-max-age header", + "type": "integer" + }, + "allowCredentials": { + "description": "Specifies whether the resource allows credentials", + "type": "boolean" + } + } + }, + "CustomHostnameAnalysisResult": { + "description": "Custom domain analysis.", + "type": "object", + "properties": { + "hostName": { + "description": "Host name that was analyzed", + "type": "string", + "readOnly": true + }, + "isHostnameAlreadyVerified": { + "description": "true if hostname is already verified; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "customDomainVerificationTest": { + "description": "DNS verification test result.", + "enum": [ + "Passed", + "Failed", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DnsVerificationTestResult", + "modelAsString": false + } + }, + "customDomainVerificationFailureInfo": { + "description": "Raw failure information if DNS verification fails.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "details": { + "type": "array", + "description": "Details or the error", + "items": { + "description": "Detailed errors.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "x-ms-identifiers": [ + "code" + ] + } + }, + "readOnly": true + }, + "hasConflictOnManagedEnvironment": { + "description": "true if there is a conflict on the Container App's managed environment; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "conflictWithEnvironmentCustomDomain": { + "description": "true if there is a conflict on the Container App's managed environment level custom domain; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "conflictingContainerAppResourceId": { + "description": "Name of the conflicting Container App on the Managed Environment if it's within the same subscription.", + "type": "string", + "readOnly": true + }, + "cNameRecords": { + "description": "CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "txtRecords": { + "description": "TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "aRecords": { + "description": "A records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateCNameRecords": { + "description": "Alternate CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateTxtRecords": { + "description": "Alternate TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + }, + "ContainerAppAuthToken": { + "description": "Container App Auth Token.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Container App auth token resource specific properties", + "type": "object", + "properties": { + "token": { + "description": "Auth token value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + }, + "expires": { + "format": "date-time", + "description": "Token expiration date.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "Service": { + "description": "Container App to be a dev service", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Dev ContainerApp service type", + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerAppsRevisions.json new file mode 100644 index 000000000000..f1ce9858b06f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ContainerAppsRevisions.json @@ -0,0 +1,677 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get the Revisions for a given Container App.", + "operationId": "ContainerAppsRevisions_ListRevisions", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App for which Revisions are needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply on the operation.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RevisionCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's revisions": { + "$ref": "./examples/Revisions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Revision" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get a revision of a Container App.", + "operationId": "ContainerAppsRevisions_GetRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Revision" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision": { + "$ref": "./examples/Revisions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/activate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Activates a revision for a Container App", + "operationId": "ContainerAppsRevisions_ActivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was activated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Activate Container App's revision": { + "$ref": "./examples/Revisions_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/deactivate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Deactivates a revision for a Container App", + "operationId": "ContainerAppsRevisions_DeactivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was deactivated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Deactivate Container App's revision": { + "$ref": "./examples/Revisions_Deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas/{replicaName}": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "Get a replica for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_GetReplica", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "name": "replicaName", + "in": "path", + "description": "Name of the Container App Revision Replica.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision replica": { + "$ref": "./examples/Replicas_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "List replicas for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_ListReplicas", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicaCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's replicas": { + "$ref": "./examples/Replicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/restart": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Restarts a revision for a Container App", + "operationId": "ContainerAppsRevisions_RestartRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was restarted" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart Container App's revision": { + "$ref": "./examples/Revisions_Restart.json" + } + } + } + } + }, + "definitions": { + "Revision": { + "description": "Container App Revision.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "format": "date-time", + "description": "Timestamp describing when the revision was created\nby controller", + "type": "string", + "readOnly": true + }, + "lastActiveTime": { + "format": "date-time", + "description": "Timestamp describing when the revision was last active. Only meaningful when revision is inactive", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "Fully qualified domain name of the revision", + "type": "string", + "readOnly": true + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time", + "readOnly": true + }, + "active": { + "description": "Boolean describing if the Revision is Active", + "type": "boolean", + "readOnly": true + }, + "replicas": { + "format": "int32", + "description": "Number of pods currently running for this revision", + "type": "integer", + "readOnly": true + }, + "trafficWeight": { + "format": "int32", + "description": "Traffic weight assigned to this revision", + "type": "integer", + "readOnly": true + }, + "provisioningError": { + "description": "Optional Field - Platform Error Message", + "type": "string", + "readOnly": true + }, + "healthState": { + "description": "Current health State of the revision", + "enum": [ + "Healthy", + "Unhealthy", + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionHealthState", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Current provisioning State of the revision", + "enum": [ + "Provisioning", + "Provisioned", + "Failed", + "Deprovisioning", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionProvisioningState", + "modelAsString": true + } + }, + "runningState": { + "description": "Current running state of the revision", + "enum": [ + "Running", + "Processing", + "Stopped", + "Degraded", + "Failed", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionRunningState", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "RevisionCollection": { + "description": "Container App Revisions collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Revision" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Replica": { + "description": "Container App Revision Replica.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Replica resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "type": "string", + "description": "Timestamp describing when the pod was created by controller", + "format": "date-time", + "readOnly": true + }, + "runningState": { + "description": "Current running state of the replica", + "enum": [ + "Running", + "NotRunning", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerAppReplicaRunningState", + "modelAsString": true + } + }, + "runningStateDetails": { + "description": "The details of replica current running state", + "type": "string", + "readOnly": true + }, + "containers": { + "description": "The containers collection under a replica.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaContainer" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "initContainers": { + "description": "The init containers collection under a replica.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaContainer" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "ReplicaCollection": { + "description": "Container App Revision Replicas collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + } + } + }, + "ReplicaContainer": { + "description": "Container object under Container App Revision Replica.", + "type": "object", + "properties": { + "name": { + "description": "The Name of the Container", + "type": "string" + }, + "containerId": { + "description": "The Id of the Container", + "type": "string" + }, + "ready": { + "description": "The container ready status", + "type": "boolean" + }, + "started": { + "description": "The container start status", + "type": "boolean" + }, + "restartCount": { + "format": "int32", + "description": "The container restart count", + "type": "integer" + }, + "runningState": { + "description": "Current running state of the container", + "enum": [ + "Running", + "Terminated", + "Waiting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerAppContainerRunningState", + "modelAsString": true + } + }, + "runningStateDetails": { + "description": "The details of container current running state", + "type": "string", + "readOnly": true + }, + "logStreamEndpoint": { + "description": "Log Stream endpoint", + "type": "string", + "readOnly": true + }, + "execEndpoint": { + "description": "Container exec endpoint", + "type": "string", + "readOnly": true + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/Diagnostics.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Diagnostics.json new file mode 100644 index 000000000000..a3dbdf7cc2de --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Diagnostics.json @@ -0,0 +1,715 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectors": { + "get": { + "tags": [ + "ContainerApps", + "Diagnostics" + ], + "summary": "Get the list of diagnostics for a given Container App.", + "operationId": "ContainerAppsDiagnostics_ListDetectors", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App for which detector info is needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the list of available diagnostics for a given Container App": { + "$ref": "./examples/ContainerAppsDiagnostics_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectors/{detectorName}": { + "get": { + "tags": [ + "ContainerApps", + "Diagnostics" + ], + "summary": "Get a diagnostics result of a Container App.", + "operationId": "ContainerAppsDiagnostics_GetDetector", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Name of the Container App Detector.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Diagnostics" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's diagnostics info": { + "$ref": "./examples/ContainerAppsDiagnostics_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/revisionsApi/revisions/": { + "get": { + "tags": [ + "ContainerApps", + "Diagnostics" + ], + "summary": "Get the Revisions for a given Container App.", + "operationId": "ContainerAppsDiagnostics_ListRevisions", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App for which Revisions are needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply on the operation.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./ContainerAppsRevisions.json#/definitions/RevisionCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's revisions": { + "$ref": "./examples/Revisions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Revision" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/revisionsApi/revisions/{revisionName}": { + "get": { + "tags": [ + "ContainerApps", + "Diagnostics" + ], + "summary": "Get a revision of a Container App.", + "operationId": "ContainerAppsDiagnostics_GetRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./ContainerAppsRevisions.json#/definitions/Revision" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision": { + "$ref": "./examples/Revisions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/detectorProperties/rootApi/": { + "get": { + "tags": [ + "ContainerApps", + "Diagnostics" + ], + "summary": "Get the properties of a Container App.", + "operationId": "ContainerAppsDiagnostics_GetRoot", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./ContainerApps.json#/definitions/ContainerApp" + } + }, + "404": { + "description": "Not found.", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App": { + "$ref": "./examples/ContainerApps_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectors": { + "get": { + "tags": [ + "ManagedEnvironments", + "Diagnostics" + ], + "summary": "Get the list of diagnostics for a given Managed Environment.", + "description": "Get the list of diagnostics for a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironmentDiagnostics_ListDetectors", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the list of available diagnostic data for a managed environments": { + "$ref": "./examples/ManagedEnvironmentDiagnostics_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectors/{detectorName}": { + "get": { + "tags": [ + "ManagedEnvironments", + "Diagnostics" + ], + "summary": "Get the diagnostics data for a given Managed Environment.", + "description": "Get the diagnostics data for a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironmentDiagnostics_GetDetector", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Name of the Managed Environment detector.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Diagnostics" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get diagnostic data for a managed environments": { + "$ref": "./examples/ManagedEnvironmentDiagnostics_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/detectorProperties/rootApi/": { + "get": { + "tags": [ + "ManagedEnvironments", + "Diagnostics" + ], + "summary": "Get the properties of a Managed Environment.", + "description": "Get the properties of a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironmentsDiagnostics_GetRoot", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./ManagedEnvironments.json#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environments by name": { + "$ref": "./examples/ManagedEnvironments_Get.json" + } + } + } + } + }, + "definitions": { + "DiagnosticsCollection": { + "description": "Diagnostics data collection for a resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of diagnostic data.", + "type": "array", + "items": { + "$ref": "#/definitions/Diagnostics" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Diagnostics": { + "description": "Diagnostics data for a resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Diagnostics resource specific properties", + "type": "object", + "properties": { + "metadata": { + "$ref": "#/definitions/DiagnosticsDefinition", + "description": "Metadata of the diagnostics response." + }, + "dataset": { + "description": "Set of data collections associated with the response.", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticsDataApiResponse" + }, + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/DiagnosticsStatus", + "description": "Status of the diagnostics response." + }, + "dataProviderMetadata": { + "$ref": "#/definitions/DiagnosticDataProviderMetadata", + "description": "List of data providers' metadata." + } + } + } + } + }, + "DiagnosticsDefinition": { + "description": "Metadata of the diagnostics response", + "type": "object", + "properties": { + "id": { + "description": "Unique detector name", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Display Name of the detector", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Details of the diagnostics info", + "type": "string", + "readOnly": true + }, + "author": { + "description": "Authors' names of the detector", + "type": "string", + "readOnly": true + }, + "category": { + "description": "Category of the detector", + "type": "string", + "readOnly": true + }, + "supportTopicList": { + "description": "List of support topics", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticSupportTopic" + } + }, + "analysisTypes": { + "description": "List of analysis types", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Authors' names of the detector", + "type": "string", + "readOnly": true + }, + "score": { + "description": "Authors' names of the detector", + "type": "number", + "readOnly": true + } + } + }, + "DiagnosticSupportTopic": { + "description": "Support topic information", + "type": "object", + "properties": { + "id": { + "description": "Unique topic identifier", + "type": "string", + "readOnly": true + }, + "pesId": { + "description": "PES identifier", + "type": "string", + "readOnly": true + } + } + }, + "DiagnosticsDataApiResponse": { + "description": "Diagnostics data returned from a detector", + "type": "object", + "properties": { + "table": { + "description": "Table response", + "$ref": "#/definitions/DiagnosticDataTableResponseObject" + }, + "renderingProperties": { + "description": "Details of the table response", + "$ref": "#/definitions/DiagnosticRendering" + } + } + }, + "DiagnosticDataTableResponseObject": { + "description": "Diagnostics data table", + "type": "object", + "properties": { + "tableName": { + "description": "Table name", + "type": "string" + }, + "columns": { + "description": "Columns in the table", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticDataTableResponseColumn" + }, + "x-ms-identifiers": [ + "columnName" + ] + }, + "rows": { + "description": "Rows in the table", + "type": "array", + "items": { + "type": "object" + }, + "x-ms-identifiers": [] + } + } + }, + "DiagnosticDataTableResponseColumn": { + "description": "Diagnostics data column", + "type": "object", + "properties": { + "columnName": { + "description": "Column name", + "type": "string" + }, + "dataType": { + "description": "Data type of the column", + "type": "string" + }, + "columnType": { + "description": "Column type", + "type": "string" + } + } + }, + "DiagnosticRendering": { + "description": "Rendering details of a diagnostics table", + "type": "object", + "properties": { + "type": { + "format": "int32", + "description": "Rendering type", + "type": "integer" + }, + "title": { + "description": "Title of the table", + "type": "string" + }, + "description": { + "description": "Description of the table", + "type": "string" + }, + "isVisible": { + "description": "Flag if the table should be rendered", + "type": "boolean" + } + } + }, + "DiagnosticsStatus": { + "description": "Rendering details of a diagnostics table", + "type": "object", + "properties": { + "message": { + "description": "Diagnostic message", + "type": "string" + }, + "statusId": { + "format": "int32", + "description": "Status", + "type": "integer" + } + } + }, + "DiagnosticDataProviderMetadata": { + "description": "Details of a diagnostics data provider", + "type": "object", + "properties": { + "providerName": { + "description": "Name of data provider", + "type": "string" + }, + "propertyBag": { + "description": "Collection of properties", + "type": "array", + "items": { + "description": "Property details", + "type": "object", + "properties": { + "name": { + "description": "Property name", + "type": "string" + }, + "value": { + "description": "Property value", + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/Global.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Global.json new file mode 100644 index 000000000000..df7bfdbf61a0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Global.json @@ -0,0 +1,140 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.App/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available RP operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all operations": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/Jobs.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Jobs.json new file mode 100644 index 000000000000..c728acac1f2d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/Jobs.json @@ -0,0 +1,1192 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get the Container Apps Jobs in a given subscription.", + "operationId": "Jobs_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobsCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Jobs by subscription": { + "$ref": "./examples/Jobs_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get the Container Apps Jobs in a given resource group.", + "operationId": "Jobs_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Jobs by resource group": { + "$ref": "./examples/Jobs_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get the properties of a Container Apps Job.", + "operationId": "Jobs_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container Apps Job": { + "$ref": "./examples/Job_Get.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "summary": "Create or Update a Container Apps Job.", + "description": "Create or Update a Container Apps Job.", + "operationId": "Jobs_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "JobEnvelope", + "in": "body", + "description": "Properties used to create a container apps job", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Container Apps Job create has been started.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "200": { + "description": "No change performed on the Container Apps Job.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container Apps Job": { + "$ref": "./examples/Job_CreateorUpdate.json" + }, + "Create or Update Container Apps Job With Event Driven Trigger": { + "$ref": "./examples/Job_CreateorUpdate_EventTrigger.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "Delete a Container Apps Job.", + "description": "Delete a Container Apps Job.", + "operationId": "Jobs_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container Apps Job deleted successfully." + }, + "202": { + "description": "Delete operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Container Apps Job does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container Apps Job": { + "$ref": "./examples/Job_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "summary": "Update properties of a Container Apps Job", + "description": "Patches a Container Apps Job using JSON Merge Patch", + "operationId": "Jobs_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "JobEnvelope", + "in": "body", + "required": true, + "description": "Properties used to create a container apps job", + "schema": { + "$ref": "#/definitions/JobPatchProperties" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Patch operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Container Apps Job": { + "$ref": "./examples/Job_Patch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/start": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Start a Container Apps Job", + "operationId": "Jobs_Start", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "template", + "in": "body", + "description": "Properties used to start a job execution.", + "required": false, + "schema": { + "$ref": "#/definitions/JobExecutionTemplate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobExecutionBase" + } + }, + "202": { + "description": "OK", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Run a Container Apps Job": { + "$ref": "./examples/Job_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions/{jobExecutionName}/stop": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Terminates execution of a running container apps job", + "operationId": "Jobs_StopExecution", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/JobExecutionNameParameter" + } + ], + "responses": { + "200": { + "description": "Container Apps Jobs terminated successfully." + }, + "202": { + "description": "OK", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Terminate a Container Apps Job": { + "$ref": "./examples/Job_Stop_Execution.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/stop": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Terminates execution of a running container apps job", + "operationId": "Jobs_StopMultipleExecutions", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "List of all the job executions that were requested to be stopped", + "schema": { + "$ref": "#/definitions/ContainerAppJobExecutions" + } + }, + "202": { + "description": "OK", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Terminate Multiple Container Apps Job": { + "$ref": "./examples/Job_Stop_Multiple.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get a Container Apps Job's executions", + "operationId": "JobsExecutions_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply on the operation.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppJobExecutions" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Container Apps Job Executions": { + "$ref": "./examples/Job_Executions_Get.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/executions/{jobExecutionName}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get details of a single job execution", + "operationId": "JobExecution", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "$ref": "#/parameters/JobExecutionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobExecution" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a single Job Execution": { + "$ref": "./examples/Job_Execution_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/listSecrets": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "List secrets for a container apps job", + "operationId": "Jobs_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobSecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Job Secrets": { + "$ref": "./examples/Job_ListSecrets.json" + } + } + } + } + }, + "parameters": { + "JobNameParameter": { + "name": "jobName", + "in": "path", + "description": "Job Name", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "JobExecutionNameParameter": { + "name": "jobExecutionName", + "in": "path", + "description": "Job execution name.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "JobConfiguration": { + "description": "Non versioned Container Apps Job configuration properties", + "type": "object", + "required": [ + "replicaTimeout", + "triggerType" + ], + "properties": { + "secrets": { + "description": "Collection of secrets used by a Container Apps Job", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "triggerType": { + "description": "Trigger type of the job", + "enum": [ + "Schedule", + "Event", + "Manual" + ], + "type": "string", + "default": "Manual", + "x-ms-enum": { + "name": "TriggerType", + "modelAsString": true + } + }, + "replicaTimeout": { + "description": "Maximum number of seconds a replica is allowed to run.", + "format": "int32", + "type": "integer" + }, + "replicaRetryLimit": { + "format": "int32", + "description": "Maximum number of retries before failing the job.", + "type": "integer" + }, + "manualTriggerConfig": { + "type": "object", + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default", + "properties": { + "replicaCompletionCount": { + "$ref": "#/definitions/ReplicaCompletionCount" + }, + "parallelism": { + "$ref": "#/definitions/Parallelism" + } + } + }, + "scheduleTriggerConfig": { + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default", + "required": [ + "cronExpression" + ], + "type": "object", + "properties": { + "replicaCompletionCount": { + "$ref": "#/definitions/ReplicaCompletionCount" + }, + "cronExpression": { + "description": "Cron formatted repeating schedule (\"* * * * *\") of a Cron Job.", + "type": "string" + }, + "parallelism": { + "$ref": "#/definitions/Parallelism" + } + } + }, + "eventTriggerConfig": { + "type": "object", + "description": "Trigger configuration of an event driven job.", + "properties": { + "replicaCompletionCount": { + "$ref": "#/definitions/ReplicaCompletionCount" + }, + "parallelism": { + "$ref": "#/definitions/Parallelism" + }, + "scale": { + "$ref": "#/definitions/JobScale" + } + } + }, + "registries": { + "description": "Collection of private container registry credentials used by a Container apps job", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + }, + "x-ms-identifiers": [ + "server" + ] + } + } + }, + "Job": { + "type": "object", + "description": "Container App Job", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "description": "Managed identities needed by a container app job to interact with other Azure services to not maintain any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "description": "Container Apps Job resource specific properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Container Apps Job.", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobProvisioningState", + "modelAsString": true + } + }, + "environmentId": { + "description": "Resource ID of environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "workloadProfileName": { + "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName", + "description": "Workload profile name to pin for container apps job execution." + }, + "configuration": { + "$ref": "#/definitions/JobConfiguration", + "description": "Container Apps Job configuration properties." + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/JobTemplate", + "description": "Container Apps job definition." + }, + "outboundIpAddresses": { + "description": "Outbound IP Addresses of a container apps job.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "eventStreamEndpoint": { + "description": "The endpoint of the eventstream of the container apps job.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "JobPatchProperties": { + "type": "object", + "description": "Container Apps Job resource specific properties.", + "properties": { + "identity": { + "description": "Managed identities needed by a container app job to interact with other Azure services to not maintain any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "properties": { + "type": "object", + "properties": { + "environmentId": { + "description": "Resource ID of environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read", + "update" + ] + }, + "configuration": { + "$ref": "#/definitions/JobConfiguration", + "description": "Container Apps Job configuration properties." + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/JobTemplate", + "description": "Container Apps job definition." + }, + "outboundIpAddresses": { + "description": "Outbound IP Addresses of a container apps job.", + "type": "array", + "items": { + "type": "string" + } + }, + "eventStreamEndpoint": { + "description": "The endpoint of the eventstream of the container apps job.", + "type": "string" + } + } + } + } + }, + "JobsCollection": { + "description": "Container Apps Jobs collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Job" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "RegistryCredentials": { + "description": "Container App Private Registry", + "type": "object", + "properties": { + "server": { + "description": "Container Registry Server", + "type": "string" + }, + "username": { + "description": "Container Registry Username", + "type": "string" + }, + "passwordSecretRef": { + "description": "The name of the Secret that contains the registry login password", + "type": "string" + }, + "identity": { + "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'", + "type": "string" + } + } + }, + "JobSecretsCollection": { + "description": "Container Apps Job Secrets Collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ReplicaCompletionCount": { + "description": "Minimum number of successful replica completions before overall job completion.", + "format": "int32", + "type": "integer" + }, + "Parallelism": { + "description": "Number of parallel replicas of a job that can run at a given time.", + "format": "int32", + "type": "integer" + }, + "PollingInterval": { + "description": "Interval to check each event source in seconds. Defaults to 30s", + "format": "int32", + "type": "integer" + }, + "JobScaleRule": { + "description": "Scaling rule.", + "type": "object", + "properties": { + "name": { + "description": "Scale Rule Name", + "type": "string" + }, + "type": { + "description": "Type of the scale rule\neg: azure-servicebus, redis etc.", + "type": "string" + }, + "metadata": { + "description": "Metadata properties to describe the scale rule.", + "type": "object" + }, + "auth": { + "description": "Authentication secrets for the scale rule.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/ScaleRuleAuth" + } + } + } + }, + "JobScale": { + "description": "Scaling configurations for event driven jobs.", + "type": "object", + "properties": { + "pollingInterval": { + "$ref": "#/definitions/PollingInterval" + }, + "minExecutions": { + "format": "int32", + "description": "Minimum number of job executions that are created for a trigger, default 0", + "type": "integer", + "default": 0 + }, + "maxExecutions": { + "format": "int32", + "description": "Maximum number of job executions that are created for a trigger, default 100.", + "type": "integer", + "default": 100 + }, + "rules": { + "description": "Scaling rules.", + "type": "array", + "items": { + "$ref": "#/definitions/JobScaleRule" + } + } + } + }, + "JobExecutionBase": { + "description": "Container App's Job execution name.", + "type": "object", + "properties": { + "name": { + "description": "Job execution name.", + "type": "string" + }, + "id": { + "description": "Job execution Id.", + "type": "string" + } + } + }, + "JobExecution": { + "description": "Container Apps Job execution.", + "type": "object", + "properties": { + "name": { + "description": "Job execution Name.", + "type": "string" + }, + "id": { + "description": "Job execution Id.", + "type": "string" + }, + "type": { + "description": "Job Type.", + "type": "string" + }, + "status": { + "description": "Current running State of the job", + "enum": [ + "Running", + "Processing", + "Stopped", + "Degraded", + "Failed", + "Unknown", + "Succeeded" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobExecutionRunningState", + "modelAsString": true + } + }, + "startTime": { + "description": "Job execution start time.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "Job execution end time.", + "format": "date-time", + "type": "string" + }, + "template": { + "description": "Job's execution container.", + "$ref": "#/definitions/JobExecutionTemplate" + } + } + }, + "ContainerAppJobExecutions": { + "description": "Container App executions collection ARM resource.", + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecution" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "JobExecutionNamesCollection": { + "description": "Container App executions names list.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecutionBase" + } + } + } + }, + "JobExecutionTemplate": { + "description": "Job's execution template, containing container configuration for a job's execution", + "type": "object", + "properties": { + "containers": { + "description": "List of container definitions for the Container Apps Job.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecutionContainer" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "initContainers": { + "description": "List of specialized containers that run before job containers.", + "type": "array", + "items": { + "$ref": "#/definitions/JobExecutionContainer" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "JobExecutionContainer": { + "description": "Container Apps Jobs execution container definition.", + "type": "object", + "properties": { + "image": { + "description": "Container image tag.", + "type": "string" + }, + "name": { + "description": "Custom container name.", + "type": "string" + }, + "command": { + "description": "Container start command.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Container start command arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Container environment variables.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVar" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resources": { + "$ref": "./CommonDefinitions.json#/definitions/ContainerResources", + "description": "Container resource requirements." + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironments.json new file mode 100644 index 000000000000..7500c645c107 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironments.json @@ -0,0 +1,1438 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all Environments for a subscription.", + "description": "Get all Managed Environments for a subscription.", + "operationId": "ManagedEnvironments_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by subscription": { + "$ref": "./examples/ManagedEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all the Environments in a resource group.", + "description": "Get all the Managed Environments in a resource group.", + "operationId": "ManagedEnvironments_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by resource group": { + "$ref": "./examples/ManagedEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get the properties of a Managed Environment.", + "description": "Get the properties of a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environments by name": { + "$ref": "./examples/ManagedEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Creates or updates a Managed Environment.", + "description": "Creates or updates a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create environments": { + "$ref": "./examples/ManagedEnvironments_CreateOrUpdate.json" + }, + "Create environment with custom infrastructureResourceGroup": { + "$ref": "./examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Delete a Managed Environment.", + "description": "Delete a Managed Environment if it does not have any container apps.", + "operationId": "ManagedEnvironments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is in progress" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete environment by name": { + "$ref": "./examples/ManagedEnvironments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Update Managed Environment's properties.", + "description": "Patches a Managed Environment using JSON Merge Patch", + "operationId": "ManagedEnvironments_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "202": { + "description": "Patch operation is in progress." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Environment": { + "$ref": "./examples/ManagedEnvironments_Patch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/certificates": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the Certificates in a given managed environment.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by Managed Environment": { + "$ref": "./examples/Certificates_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/certificates/{certificateName}": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the specified Certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/Certificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Create or Update a Certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Certificate to be created or updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/Certificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Deletes the specified Certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/Certificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Update properties of a certificate", + "description": "Patches a certificate. Currently only patching of tags is supported", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a certificate that need to be updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Certificate updated successfully.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Certificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/Certificates_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/managedCertificates/{managedCertificateName}": { + "get": { + "tags": [ + "ManagedEnvironments", + "ManagedCertificates" + ], + "summary": "Get the specified Managed Certificate.", + "operationId": "ManagedCertificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateName", + "in": "path", + "description": "Name of the Managed Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/ManagedCertificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "ManagedCertificates" + ], + "summary": "Create or Update a Managed Certificate.", + "operationId": "ManagedCertificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateName", + "in": "path", + "description": "Name of the Managed Certificate.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateEnvelope", + "in": "body", + "description": "Managed Certificate to be created or updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate" + } + }, + "400": { + "description": "Bad Request.", + "x-ms-error-response": true + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/ManagedCertificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "ManagedCertificates" + ], + "summary": "Deletes the specified Managed Certificate.", + "operationId": "ManagedCertificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateName", + "in": "path", + "description": "Name of the Managed Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/ManagedCertificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedEnvironments", + "ManagedCertificates" + ], + "summary": "Update tags of a managed certificate", + "description": "Patches a managed certificate. Oly patching of tags is supported", + "operationId": "ManagedCertificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateName", + "in": "path", + "description": "Name of the Managed Certificate.", + "required": true, + "type": "string" + }, + { + "name": "managedCertificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a managed certificate that need to be updated", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Managed Certificate updated successfully.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Certificate": { + "$ref": "./examples/ManagedCertificates_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/managedCertificates": { + "get": { + "tags": [ + "ManagedEnvironments", + "ManagedCertificates" + ], + "summary": "Get the Managed Certificates in a given managed environment.", + "operationId": "ManagedCertificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedCertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Managed Certificates by Managed Environment": { + "$ref": "./examples/ManagedCertificates_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/checkNameAvailability": { + "post": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Checks the resource name availability.", + "description": "Checks if resource name is available.", + "operationId": "Namespaces_CheckNameAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "checkNameAvailabilityRequest", + "in": "body", + "description": "The check name availability request.", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "ContainerApps_CheckNameAvailability": { + "$ref": "./examples/ContainerApps_CheckNameAvailability.json" + }, + "Certificates_CheckNameAvailability": { + "$ref": "./examples/Certificates_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/getAuthtoken": { + "post": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get auth token for a managed environment", + "description": "Checks if resource name is available.", + "operationId": "ManagedEnvironments_GetAuthToken", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnvironmentAuthToken" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Managed Environment Auth Token": { + "$ref": "./examples/ManagedEnvironments_GetAuthToken.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/workloadProfileStates": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all workload Profile States for a Managed Environment..", + "description": "Get all workload Profile States for a Managed Environment.", + "operationId": "ManagedEnvironments_ListWorkloadProfileStates", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/workloadProfileStatesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by subscription": { + "$ref": "./examples/ManagedEnvironments_ListWorkloadProfileStates.json" + } + } + } + } + }, + "definitions": { + "AppLogsConfiguration": { + "description": "Configuration of application logs", + "type": "object", + "properties": { + "destination": { + "description": "Logs destination, can be 'log-analytics', 'azure-monitor' or 'none'", + "type": "string" + }, + "logAnalyticsConfiguration": { + "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'", + "$ref": "#/definitions/LogAnalyticsConfiguration" + } + } + }, + "KedaConfiguration": { + "type": "object", + "description": "Configuration properties Keda component", + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of Keda" + } + } + }, + "DaprConfiguration": { + "type": "object", + "description": "Configuration properties Dapr component", + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of Dapr" + } + } + }, + "VnetConfiguration": { + "type": "object", + "description": "Configuration properties for apps environment to join a Virtual Network", + "properties": { + "internal": { + "type": "boolean", + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. They must provide infrastructureSubnetId if enabling this property", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "Mtls": { + "type": "object", + "description": "Configuration properties for mutual TLS authentication", + "properties": { + "enabled": { + "type": "boolean", + "description": "Boolean indicating whether the mutual TLS authentication is enabled" + } + } + }, + "ManagedEnvironment": { + "description": "An environment for hosting container apps", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind of the Environment." + }, + "properties": { + "description": "Managed environment resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EnvironmentProvisioningState", + "modelAsString": true + } + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry", + "x-ms-secret": true + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry", + "x-ms-secret": true + }, + "vnetConfiguration": { + "description": "Vnet configuration for the environment", + "$ref": "#/definitions/VnetConfiguration" + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the Environment", + "type": "string", + "readOnly": true + }, + "appLogsConfiguration": { + "$ref": "#/definitions/AppLogsConfiguration", + "description": "Cluster configuration which enables the log daemon to export\napp logs to a destination. Currently only \"log-analytics\" is\nsupported" + }, + "zoneRedundant": { + "description": "Whether or not this Managed Environment is zone-redundant.", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "customDomainConfiguration": { + "$ref": "./CommonDefinitions.json#/definitions/CustomDomainConfiguration", + "description": "Custom domain configuration for the environment" + }, + "eventStreamEndpoint": { + "description": "The endpoint of the eventstream of the Environment.", + "type": "string", + "readOnly": true + }, + "workloadProfiles": { + "description": "Workload profiles configured for the Managed Environment.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProfile" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "kedaConfiguration": { + "$ref": "#/definitions/KedaConfiguration", + "description": "The configuration of Keda component." + }, + "daprConfiguration": { + "$ref": "#/definitions/DaprConfiguration", + "description": "The configuration of Dapr component." + }, + "infrastructureResourceGroup": { + "description": "Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as the subnet.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "peerAuthentication": { + "description": "Peer authentication settings for the Managed Environment", + "type": "object", + "properties": { + "mtls": { + "description": "Mutual TLS authentication settings for the Managed Environment", + "$ref": "#/definitions/Mtls" + } + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "ManagedEnvironmentsCollection": { + "description": "Collection of Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "LogAnalyticsConfiguration": { + "description": "Log Analytics configuration, must only be provided when destination is configured as 'log-analytics'", + "type": "object", + "properties": { + "customerId": { + "description": "Log analytics customer id", + "type": "string" + }, + "sharedKey": { + "description": "Log analytics customer key", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "EnvironmentAuthToken": { + "description": "Environment Auth Token.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Environment auth token resource specific properties", + "type": "object", + "properties": { + "token": { + "description": "Auth token value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + }, + "expires": { + "format": "date-time", + "description": "Token expiration date.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "WorkloadProfile": { + "description": "Workload profile to scope container app execution.", + "type": "object", + "properties": { + "name": { + "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName", + "description": "Workload profile type for the workloads to run on." + }, + "workloadProfileType": { + "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileType", + "description": "Workload profile type for the workloads to run on." + }, + "minimumCount": { + "type": "integer", + "format": "int32", + "description": "The minimum capacity." + }, + "maximumCount": { + "type": "integer", + "format": "int32", + "description": "The maximum capacity." + } + }, + "required": [ + "name", + "workloadProfileType" + ] + }, + "workloadProfileStates": { + "description": "Collection of all the workload Profile States for a Managed Environment..", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Workload Profile resource specific properties.", + "type": "object", + "properties": { + "minimumCount": { + "type": "integer", + "format": "int32", + "description": "Minimum count of instances." + }, + "maximumCount": { + "type": "integer", + "format": "int32", + "description": "Maximum count of nodes." + }, + "currentCount": { + "type": "integer", + "format": "int32", + "description": "Current count of nodes." + } + } + } + } + }, + "workloadProfileStatesCollection": { + "description": "Collection of workloadProfileStates", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/workloadProfileStates" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsDaprComponents.json new file mode 100644 index 000000000000..0840aa667463 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsDaprComponents.json @@ -0,0 +1,313 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get the Dapr Components for a managed environment.", + "operationId": "DaprComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr Components": { + "$ref": "./examples/DaprComponents_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get a dapr component.", + "operationId": "DaprComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr Component with secrets": { + "$ref": "./examples/DaprComponents_Get_Secrets.json" + }, + "Get Dapr Component with secret store component": { + "$ref": "./examples/DaprComponents_Get_SecretStoreComponent.json" + } + } + }, + "put": { + "tags": [ + "DaprComponents" + ], + "summary": "Creates or updates a Dapr Component.", + "description": "Creates or updates a Dapr Component in a Managed Environment.", + "operationId": "DaprComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr component with secrets": { + "$ref": "./examples/DaprComponents_CreateOrUpdate_Secrets.json" + }, + "Create or update dapr component with secret store component": { + "$ref": "./examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponents" + ], + "summary": "Delete a Dapr Component.", + "description": "Delete a Dapr Component from a Managed Environment.", + "operationId": "DaprComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component": { + "$ref": "./examples/DaprComponents_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}/listSecrets": { + "post": { + "tags": [ + "DaprComponents" + ], + "summary": "List secrets for a dapr component", + "operationId": "DaprComponents_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Secrets": { + "$ref": "./examples/DaprComponents_ListSecrets.json" + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..94c262a23f7e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/ManagedEnvironmentsStorages.json @@ -0,0 +1,290 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/storages": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get all storages for a managedEnvironment.", + "description": "Get all storages for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/storages/{storageName}": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get storage for a managedEnvironment.", + "description": "Get storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Create or update storage for a managedEnvironment.", + "description": "Create or update storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Delete storage for a managedEnvironment.", + "description": "Delete storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "storageName", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "ManagedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + } + } + }, + "ManagedEnvironmentStorage": { + "description": "Storage resource for managedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2023-05-01/SourceControls.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/SourceControls.json new file mode 100644 index 000000000000..99542d45ab75 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/SourceControls.json @@ -0,0 +1,446 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerApps API Client" + }, + "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.App/containerApps/{containerAppName}/sourcecontrols": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get the Container App SourceControls in a given resource group.", + "operationId": "ContainerAppsSourceControls_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App's Source Controls": { + "$ref": "./examples/SourceControls_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols/{sourceControlName}": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get a SourceControl of a Container App.", + "operationId": "ContainerAppsSourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlName", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's SourceControl": { + "$ref": "./examples/SourceControls_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Create or update the SourceControl for a Container App.", + "description": "Create or update the SourceControl for a Container App.", + "operationId": "ContainerAppsSourceControls_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlName", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlEnvelope", + "in": "body", + "description": "Properties used to create a Container App SourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App SourceControl": { + "$ref": "./examples/SourceControls_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Delete a Container App SourceControl.", + "description": "Delete a Container App SourceControl.", + "operationId": "ContainerAppsSourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlName", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App SourceControl deleted successfully." + }, + "202": { + "description": "Delete operation is in progress." + }, + "204": { + "description": "Container App SourceControl does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App SourceControl": { + "$ref": "./examples/SourceControls_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "SourceControl": { + "description": "Container App SourceControl.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SourceControl resource specific properties", + "type": "object", + "properties": { + "operationState": { + "description": "Current provisioning State of the operation", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SourceControlOperationState", + "modelAsString": true + } + }, + "repoUrl": { + "description": "The repo url which will be integrated to ContainerApp.", + "type": "string" + }, + "branch": { + "description": "The branch which will trigger the auto deployment", + "type": "string" + }, + "githubActionConfiguration": { + "$ref": "#/definitions/GithubActionConfiguration", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time" + } + }, + "x-ms-client-flatten": true + } + } + }, + "GithubActionConfiguration": { + "description": "Configuration properties that define the mutable settings of a Container App SourceControl", + "type": "object", + "properties": { + "registryInfo": { + "$ref": "#/definitions/RegistryInfo", + "description": "Registry configurations." + }, + "azureCredentials": { + "$ref": "#/definitions/AzureCredentials", + "description": "AzureCredentials configurations." + }, + "contextPath": { + "description": "Context path", + "type": "string" + }, + "githubPersonalAccessToken": { + "description": "One time Github PAT to configure github environment", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "image": { + "description": "Image name", + "type": "string" + }, + "publishType": { + "description": "Code or Image", + "type": "string" + }, + "os": { + "description": "Operation system", + "type": "string" + }, + "runtimeStack": { + "description": "Runtime stack", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime version", + "type": "string" + } + } + }, + "RegistryInfo": { + "description": "Container App registry information.", + "type": "object", + "properties": { + "registryUrl": { + "description": "registry server Url.", + "type": "string" + }, + "registryUserName": { + "description": "registry username.", + "type": "string" + }, + "registryPassword": { + "description": "registry secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "AzureCredentials": { + "description": "Container App credentials.", + "type": "object", + "properties": { + "clientId": { + "description": "Client Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "clientSecret": { + "description": "Client Secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "tenantId": { + "description": "Tenant Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "kind": { + "description": "Kind of auth github does for deploying the template", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "subscriptionId": { + "description": "Subscription Id.", + "type": "string" + } + } + }, + "SourceControlCollection": { + "description": "SourceControl collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceControl" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..b67ddc1244c5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "authConfigName": "current", + "api-version": "2023-05-01", + "authConfigEnvelope": { + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Delete.json new file mode 100644 index 000000000000..fb12301eaddb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "authConfigName": "current", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Get.json new file mode 100644 index 000000000000..c39056838cc9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "authConfigName": "current", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_ListByContainer.json new file mode 100644 index 000000000000..a26fcc9bbddc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AuthConfigs_ListByContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AvailableWorkloadProfiles_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AvailableWorkloadProfiles_Get.json new file mode 100644 index 000000000000..63d6858a5540 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/AvailableWorkloadProfiles_Get.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "East US", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "properties": { + "displayName": "Dedicated-D4", + "category": "General purpose D-series", + "applicability": "LocationDefault", + "cores": 4, + "memoryGiB": 16 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D4", + "name": "Dedicated-D4", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-D8", + "category": "General purpose D-series", + "applicability": "Custom", + "cores": 8, + "memoryGiB": 32 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D8", + "name": "Dedicated-D4", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-D16", + "category": "General purpose D-series", + "applicability": "Custom", + "cores": 16, + "memoryGiB": 64 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-D16", + "name": "Dedicated-D16", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-E4", + "category": "Memory optimized E-series", + "applicability": "Custom", + "cores": 4, + "memoryGiB": 32 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E4", + "name": "Dedicated-E4", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-E8", + "category": "Memory optimized E-series", + "applicability": "Custom", + "cores": 8, + "memoryGiB": 64 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E8", + "name": "Dedicated-E8", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-E16", + "category": "Memory optimized E-series", + "applicability": "Custom", + "cores": 16, + "memoryGiB": 128 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-E16", + "name": "Dedicated-E16", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-F4", + "category": "Compute optimized F-series", + "applicability": "Custom", + "cores": 4, + "memoryGiB": 8 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F4", + "name": "Dedicated-F4", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-F8", + "category": "Compute optimized F-series", + "applicability": "Custom", + "cores": 8, + "memoryGiB": 16 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F8", + "name": "Dedicated-F8", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Dedicated-F16", + "category": "Compute optimized F-series", + "applicability": "Custom", + "cores": 16, + "memoryGiB": 32 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Dedicated-F16", + "name": "Dedicated-F16", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + }, + { + "location": "East US", + "properties": { + "displayName": "Consumption", + "category": "Consumption", + "applicability": "Custom", + "cores": 3, + "memoryGiB": 3 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/Consumption", + "name": "Consumption", + "type": "Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/BillingMeters_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/BillingMeters_Get.json new file mode 100644 index 000000000000..e4b16b84ad3e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/BillingMeters_Get.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "East US", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "East US", + "properties": { + "category": "General purpose D-series", + "meterType": "CPU", + "displayName": "General Purpose Cores per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralPurposeDseriesCPU", + "name": "GeneralPurposeDseriesCPU", + "type": "Microsoft.App/billingMeters" + }, + { + "location": "East US", + "properties": { + "category": "General purpose D-series", + "meterType": "Memory", + "displayName": "General Purpose Memory GiB per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralPurposeDseriesMemory", + "name": "GeneralPurposeDseriesMemory", + "type": "Microsoft.App/billingMeters" + }, + { + "location": "East US", + "properties": { + "category": "Memory optimized E-series", + "meterType": "CPU", + "displayName": "Memory Optimized Cores per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/MemoryOptimizedEseriesCPU", + "name": "MemoryOptimizedEseriesCPU", + "type": "Microsoft.App/billingMeters" + }, + { + "location": "East US", + "properties": { + "category": "Memory optimized E-series", + "meterType": "Memory", + "displayName": "Memory Optimized Memory GiB per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/MemoryOptimizedEseriesMemory", + "name": "MemoryOptimizedEseriesMemory", + "type": "Microsoft.App/billingMeters" + }, + { + "location": "East US", + "properties": { + "category": "Compute optimized F-series", + "meterType": "CPU", + "displayName": "Compute Optimized Cores per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/ComputeOptimizedFseriesCPU", + "name": "ComputeOptimizedFseriesCPU", + "type": "Microsoft.App/billingMeters" + }, + { + "location": "East US", + "properties": { + "category": "Compute optimized F-series", + "meterType": "Memory", + "displayName": "Compute Optimized Memory GiB per Second" + }, + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/GeneralComputeMemory", + "name": "GeneralComputeMemory", + "type": "Microsoft.App/billingMeters" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_CreateOrUpdate.json new file mode 100644 index 000000000000..9881a09758a9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_CreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "Y2VydA==" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Delete.json new file mode 100644 index 000000000000..fc5a50777e37 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Get.json new file mode 100644 index 000000000000..c989916f508e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificate_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_CheckNameAvailability.json new file mode 100644 index 000000000000..38ec5273ee79 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "checkNameAvailabilityRequest": { + "name": "testcertificatename", + "type": "Microsoft.App/managedEnvironments/certificates" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..185036c8ec9c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_ListByManagedEnvironment.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_Patch.json new file mode 100644 index 000000000000..cb5d6a7228d3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Certificates_Patch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json new file mode 100644 index 000000000000..29bc19400d79 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "Y2VydA==" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ConnectedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Delete.json new file mode 100644 index 000000000000..fc6551787f29 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Get.json new file mode 100644 index 000000000000..4e1a9128a5c3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificate_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ConnectedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json new file mode 100644 index 000000000000..19cfed48319f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "checkNameAvailabilityRequest": { + "name": "testcertificatename", + "type": "Microsoft.App/connectedEnvironments/certificates" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json new file mode 100644 index 000000000000..b24c5334a7b7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ConnectedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ConnectedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_Patch.json new file mode 100644 index 000000000000..48dc0bb38637 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsCertificates_Patch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ConnectedEnvironments/Certificates", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "subjectAlternativeNames": [ + "CN=my-subject-name.com" + ], + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..fc703bbd7bd6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey", + "value": "keyvalue" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/connectedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Delete.json new file mode 100644 index 000000000000..5e6914275997 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Get.json new file mode 100644 index 000000000000..eb9a20755e8a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/connectedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_List.json new file mode 100644 index 000000000000..ccadb705bb38 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/myenvironment/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/connectedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json new file mode 100644 index 000000000000..dc616b9eb951 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1", + "value": "value1" + }, + { + "name": "secret2", + "value": "value2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..b07bf70375fd --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/env/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/connectedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..00935096f7bb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..2f63fc00cbf8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/env/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/connectedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..b6f0ae1f3c35 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "managedEnv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/connectedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..16710e33d7a9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_CreateOrUpdate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testenv", + "api-version": "2023-05-01", + "kind": "kubernetes", + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "environmentEnvelope": { + "location": "East US", + "properties": { + "staticIp": "1.2.3.4", + "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/", + "customDomainConfiguration": { + "dnsSuffix": "www.my-name.com", + "certificateValue": "Y2VydA==", + "certificatePassword": "private key password" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv", + "name": "testenv", + "type": "Microsoft.App/connectedEnvironments", + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testenv.k4apps.io", + "staticIp": "1.2.3.4", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv", + "name": "testenv", + "type": "Microsoft.App/connectedEnvironments", + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "tags": {}, + "properties": { + "provisioningState": "Waiting", + "deploymentErrors": null, + "defaultDomain": "testenv.k4apps.io", + "staticIp": "1.2.3.4" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Delete.json new file mode 100644 index 000000000000..0560bc6369a1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Delete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "examplekenv", + "api-version": "2023-05-01", + "kind": "kubernetes", + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/operationResults/00000" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json new file mode 100644 index 000000000000..8642e9ed07d9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "examplekenv", + "api-version": "2023-05-01", + "kind": "kubernetes", + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/kubeEnvironments/examplekenv", + "name": "examplekenv", + "type": "Microsoft.App/kubeEnvironments", + "location": "North Central US", + "extendedLocation": { + "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "examplekenv.k4apps.io", + "staticIp": "20.42.33.145", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..9073b94344f9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample1", + "name": "sample1", + "type": "Microsoft.App/connectedEnvironments", + "location": "North Central US", + "extendedLocation": { + "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "sample1.k4apps.io", + "staticIp": "20.42.33.145", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample2", + "name": "sample2", + "type": "Microsoft.App/connectedEnvironments", + "location": "North Central US", + "extendedLocation": { + "name": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "sample2.k4apps.io", + "staticIp": "52.142.21.61", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name2.com", + "subjectName": "CN=www.my-name2.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..4c02eab13957 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_ListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/sample1", + "name": "sample1", + "type": "Microsoft.App/connectedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "sample1.k4apps.io", + "staticIp": "20.42.33.145", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/connectedEnvironments/sample2", + "name": "sample2", + "type": "Microsoft.App/connectedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "sample2.k4apps.io", + "staticIp": "52.142.21.61", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name2.com", + "subjectName": "CN=www.my-name2.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Patch.json new file mode 100644 index 000000000000..9fe398d14278 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ConnectedEnvironments_Patch.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testenv", + "api-version": "2023-05-01", + "location": "East US", + "environmentEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testenv", + "name": "testenv", + "type": "Microsoft.App/connectedEnvironments", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testenv.k4apps.io", + "staticIp": "20.42.33.145", + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_Get.json new file mode 100644 index 000000000000..d717eb863054 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_Get.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "containerAppName": "mikono-capp-stage1", + "detectorName": "cappcontainerappnetworkIO", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/containerApps/mikono-capp-stage1/detectors/cappcontainerappnetworkIO", + "name": "cappcontainerappnetworkIO", + "type": "Microsoft.App/containerapps/detectors", + "properties": { + "metadata": { + "id": "cappcontainerappnetworkIO", + "name": "Container App Network Inbound and Outbound", + "description": "This detector shows the Container App Network Inbound and Outbound.", + "author": "", + "category": "Availability and Performance", + "supportTopicList": [], + "type": "Detector", + "score": 0 + }, + "dataset": [ + { + "table": { + "tableName": "", + "columns": [ + { + "columnName": "TimeStamp", + "dataType": "DateTime" + }, + { + "columnName": "Metric", + "dataType": "String" + }, + { + "columnName": "Average", + "dataType": "Double" + } + ], + "rows": [ + [ + "2022-03-15T21:35:00", + "RxBytes", + 0 + ] + ] + }, + "renderingProperties": { + "type": 8, + "title": "Container Apps Network Inbound ", + "description": "", + "isVisible": true + } + } + ], + "status": { + "statusId": 3 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_List.json new file mode 100644 index 000000000000..6063a8dfabdf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerAppsDiagnostics_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "containerAppName": "mikono-capp-stage1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/containerApps/mikono-capp-stage1/detectors/cappContainerAppAvailabilityMetrics", + "name": "cappContainerAppAvailabilityMetrics", + "type": "Microsoft.App/containerapps/detectors", + "properties": { + "metadata": { + "id": "cappContainerAppAvailabilityMetrics", + "name": "Availability Metrics for Container Apps", + "author": "", + "category": "Availability and Performance", + "supportTopicList": [], + "type": "Analysis", + "score": 0 + }, + "dataset": [], + "status": { + "statusId": 4 + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CheckNameAvailability.json new file mode 100644 index 000000000000..2cb0f7b0bc7a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-05-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "checkNameAvailabilityRequest": { + "name": "testcappname", + "type": "Microsoft.App/containerApps" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CreateOrUpdate.json new file mode 100644 index 000000000000..92e74a04234f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_CreateOrUpdate.json @@ -0,0 +1,387 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01", + "containerAppEnvelope": { + "location": "East US", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + }, + "clientCertificateMode": "accept", + "corsPolicy": { + "allowedOrigins": [ + "https://a.test.com", + "https://b.test.com" + ], + "allowedMethods": [ + "GET", + "POST" + ], + "allowedHeaders": [ + "HEADER1", + "HEADER2" + ], + "exposeHeaders": [ + "HEADER3", + "HEADER4" + ], + "maxAge": 1234, + "allowCredentials": true + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/redisService", + "name": "redisService" + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Delete.json new file mode 100644 index 000000000000..b50692d1b5f7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Get.json new file mode 100644 index 000000000000..a31d926bf214 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Get.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service", + "name": "service" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_GetAuthToken.json new file mode 100644 index 000000000000..0db007427f53 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_GetAuthToken.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps/accesstoken", + "location": "East US", + "properties": { + "token": "testToken", + "expires": "2022-07-14T19:22:50.3080223Z" + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListByResourceGroup.json new file mode 100644 index 000000000000..f08db7684e34 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListByResourceGroup.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10 + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListBySubscription.json new file mode 100644 index 000000000000..6266f1dad74c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListBySubscription.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service", + "name": "service" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListCustomHostNameAnalysis.json new file mode 100644 index 000000000000..8174af49e7c4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListCustomHostNameAnalysis.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "customHostname": "my.name.corp", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "hostName": "my.name.corp", + "isHostnameAlreadyVerified": true, + "customDomainVerificationTest": "Passed", + "customDomainVerificationFailureInfo": {}, + "hasConflictOnManagedEnvironment": false, + "conflictingContainerAppResourceId": "", + "cNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "txtRecords": [ + "txtRecord1", + "txtRecord2" + ], + "aRecords": [ + "aRecord1", + "aRecord2" + ], + "alternateCNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "alternateTxtRecords": [ + "txtRecord1", + "txtRecord2" + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListSecrets.json new file mode 100644 index 000000000000..5d3f1ad8880a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ManagedBy_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ManagedBy_CreateOrUpdate.json new file mode 100644 index 000000000000..ed5d9bd5645e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_ManagedBy_CreateOrUpdate.json @@ -0,0 +1,204 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerAppManagedBy", + "api-version": "2023-05-01", + "containerAppEnvelope": { + "location": "East US", + "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerAppManagedBy-ab1234" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppManagedBy:v1", + "name": "testcontainerAppManagedBy", + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppManagedBy", + "name": "testcontainerAppManagedBy", + "type": "Microsoft.App/containerApps", + "location": "East US", + "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerAppManagedBy-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerAppManagedBy-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerAppManagedBy.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerAppManagedBy-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerAppManagedBy-ab4321" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppManagedBy:v4", + "name": "testcontainerAppManagedBy", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppManagedBy", + "name": "testcontainerAppManagedBy", + "type": "Microsoft.App/containerApps", + "location": "East US", + "managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerAppManagedBy-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerAppManagedBy.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerAppManagedBy-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerAppManagedBy-ab4321" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppManagedBy:v4", + "name": "testcontainerAppManagedBy", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Patch.json new file mode 100644 index 000000000000..db4665e2815e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Patch.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01", + "containerAppEnvelope": { + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ], + "stickySessions": { + "affinity": "sticky" + } + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service", + "name": "service" + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10 + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/containerappOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Start.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Start.json new file mode 100644 index 000000000000..81390010e202 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Start.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10 + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Stop.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Stop.json new file mode 100644 index 000000000000..81390010e202 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_Stop.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "workloadProfileName": "My-GP-01", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerApp0-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerApp0-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerApp0-ab4321", + "label": "staging" + } + ], + "ipSecurityRestrictions": [ + { + "name": "Allow work IP A subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/32", + "action": "Allow" + }, + { + "name": "Allow work IP B subnet", + "description": "Allowing all IP's within the subnet below to access containerapp", + "ipAddressRange": "192.168.1.1/8", + "action": "Allow" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10 + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_TcpApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_TcpApp_CreateOrUpdate.json new file mode 100644 index 000000000000..905b6fe89d07 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ContainerApps_TcpApp_CreateOrUpdate.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerAppTcp", + "api-version": "2023-05-01", + "containerAppEnvelope": { + "location": "East US", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerAppTcp-ab1234" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppTcp:v1", + "name": "testcontainerAppTcp", + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppTcp", + "name": "testcontainerAppTcp", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerAppTcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "latestReadyRevisionName": "testcontainerAppTcp-pjxhsye", + "configuration": { + "ingress": { + "fqdn": "testcontainerAppTcp.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerAppTcp-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerAppTcp-ab4321" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppTcp:v4", + "name": "testcontainerAppTcp", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerAppTcp", + "name": "testcontainerAppTcp", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerAppTcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerAppTcp.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "exposedPort": 4000, + "transport": "tcp", + "traffic": [ + { + "weight": 80, + "revisionName": "testcontainerAppTcp-ab1234" + }, + { + "weight": 20, + "revisionName": "testcontainerAppTcp-ab4321" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppTcp:v4", + "name": "testcontainerAppTcp", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "tcpSocket": { + "port": 8080 + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "tcpscalingrule", + "tcp": { + "metadata": { + "concurrentConnections": "50" + } + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json new file mode 100644 index 000000000000..e44a4552c20f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secretStoreComponent": "my-secret-store", + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secretStoreComponent": "my-secret-store", + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_Secrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_Secrets.json new file mode 100644 index 000000000000..7679336013ce --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_CreateOrUpdate_Secrets.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey", + "value": "keyvalue" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Delete.json new file mode 100644 index 000000000000..b3ee833b656d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_SecretStoreComponent.json new file mode 100644 index 000000000000..3a950e764cc6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_SecretStoreComponent.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secretStoreComponent": "my-secret-store", + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_Secrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_Secrets.json new file mode 100644 index 000000000000..9b9f2a911bd9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_Get_Secrets.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_List.json new file mode 100644 index 000000000000..d17b5c654c26 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_List.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/vaultdog", + "name": "vaultdog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secretStoreComponent": "my-secret-store", + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/vaultdog", + "name": "vaultdog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secretStoreComponent": "my-secret-store", + "metadata": [ + { + "name": "url", + "secretRef": "cosmosdb/url" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "cosmosdb/masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_ListSecrets.json new file mode 100644 index 000000000000..9986e78a4382 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/DaprComponents_ListSecrets.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate.json new file mode 100644 index 000000000000..8c8e105e1a47 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01", + "JobEnvelope": { + "location": "East US", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v1", + "name": "testcontainerAppsJob0", + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 5, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "201": { + "headers": { + "Location": "location" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate_EventTrigger.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate_EventTrigger.json new file mode 100644 index 000000000000..b131b7520f40 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_CreateorUpdate_EventTrigger.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01", + "JobEnvelope": { + "location": "East US", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "eventTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4, + "scale": { + "pollingInterval": 40, + "minExecutions": 1, + "maxExecutions": 5, + "rules": [ + { + "name": "servicebuscalingrule", + "type": "azure-servicebus", + "metadata": { + "topicName": "my-topic" + } + } + ] + } + }, + "triggerType": "Event" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v1", + "name": "testcontainerAppsJob0" + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "eventTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4, + "scale": { + "pollingInterval": 20, + "minExecutions": 1, + "maxExecutions": 5, + "rules": [ + { + "name": "githubscalingrule", + "type": "github-runner", + "metadata": { + "githubAPIURL": "https://api.github.com" + } + } + ] + } + }, + "triggerType": "Event" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "201": { + "headers": { + "Location": "location" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "eventTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4, + "scale": { + "minExecutions": 1, + "maxExecutions": 5, + "pollingInterval": 20, + "rules": [ + { + "name": "servicebuscalingrule", + "type": "azure-servicebus", + "metadata": { + "queueName": "my-queue", + "messageCount": "50" + } + } + ] + } + }, + "triggerType": "Event" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Delete.json new file mode 100644 index 000000000000..4dd3b30c50da --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testWorkerContainerAppsJob0", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/jobs/testWorkerContainerAppsJob0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Execution_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Execution_Get.json new file mode 100644 index 000000000000..5a96d6477d85 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Execution_Get.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": "jobExecution1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "jobExecution1", + "status": "Running", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00", + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Executions_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Executions_Get.json new file mode 100644 index 000000000000..bd48031206da --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Executions_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "testcontainerAppJob-27944454", + "status": "Running", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00", + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Get.json new file mode 100644 index 000000000000..392fd5d05d73 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_ListSecrets.json new file mode 100644 index 000000000000..1d9a3c7d5229 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Patch.json new file mode 100644 index 000000000000..af668c00e855 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Patch.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2023-05-01", + "JobEnvelope": { + "properties": { + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v1", + "name": "testcontainerAppsJob0", + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/containerappsjobOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Start.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Start.json new file mode 100644 index 000000000000..a2847a73829b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Start.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + }, + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "testcontainerAppsJob0-pjxhsye", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/{containerAppsJobName}/executions/{jobExecutionName}" + } + }, + "202": { + "headers": { + "Location": "location" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Execution.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Execution.json new file mode 100644 index 000000000000..7823a5a6980b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Execution.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": "jobExecution1", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "location" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Multiple.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Multiple.json new file mode 100644 index 000000000000..4534b50ac355 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Job_Stop_Multiple.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": { + "value": [ + { + "name": "jobExecution-27944453" + }, + { + "name": "jobExecution-27944452" + }, + { + "name": "jobExecution-27944451" + } + ] + }, + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "jobExecution-27944453", + "status": "Stopped", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00" + }, + { + "name": "jobExecution-27944452", + "status": "Stopped", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00" + }, + { + "name": "jobExecution-27944453", + "status": "Failed", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00" + } + ], + "nextLink": null + } + }, + "202": { + "headers": { + "Location": "location" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListByResourceGroup.json new file mode 100644 index 000000000000..a781372cc5c0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListByResourceGroup.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob1", + "name": "testcontainerAppsJob1", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "scheduleTriggerConfig": { + "replicaCompletionCount": 1, + "cronExpression": "* * * * 5", + "parallelism": 4 + }, + "triggerType": "Scheduled" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob1:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testinitcontainerAppsJob1:v4", + "name": "testinitcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListBySubscription.json new file mode 100644 index 000000000000..8ce1f1291466 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Jobs_ListBySubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0", + "name": "testcontainerAppsJob0", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "manualTriggerConfig": { + "replicaCompletionCount": 1, + "parallelism": 4 + }, + "triggerType": "Manual" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob1", + "name": "testcontainerAppsJob1", + "type": "Microsoft.App/jobs", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "replicaTimeout": 10, + "replicaRetryLimit": 10, + "scheduleTriggerConfig": { + "replicaCompletionCount": 1, + "cronExpression": "* * * * 5", + "parallelism": 5 + }, + "triggerType": "Scheduled" + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob1:v4", + "name": "testcontainerAppsJob1", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob1:v4", + "name": "testinitcontainerAppsJob1", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_CreateOrUpdate.json new file mode 100644 index 000000000000..0cbe23241d88 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "managedCertificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "managedCertificateEnvelope": { + "location": "East US", + "properties": { + "subjectName": "my-subject-name.company.country.net", + "domainControlValidation": "CNAME" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=my-subject-name.company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "CNAME" + } + } + }, + "201": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/locations/eastus/managedCertificateOperationStatuses/dc27c9cd-370f-4623-95d4-827b6dc4120a?api-version=2022-06-01-preview&azureAsyncOperation=true" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=my-subject-name.company.country.net", + "provisioningState": "Pending", + "domainControlValidation": "CNAME" + } + } + }, + "400": { + "code": "ManagedCertNoUpdate", + "message": "Properties of managed certificates cannot be updated. Please delete the current resource and retry or use a different resource id." + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Delete.json new file mode 100644 index 000000000000..6ea350b67d0e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "managedCertificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Get.json new file mode 100644 index 000000000000..ddfbac661d24 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificate_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "managedCertificateName": "certificate-firendly-name", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=my-subject-name.company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "CNAME" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..f2015d246f3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_ListByManagedEnvironment.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=my-subject-name.company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "CNAME" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name-root", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "HTTP" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name-txt", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=txt.company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "TXT" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_Patch.json new file mode 100644 index 000000000000..d5fd64e0470f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedCertificates_Patch.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "managedCertificateName": "certificate-firendly-name", + "api-version": "2023-05-01", + "managedCertificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/managedCertificates/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/managedCertificates", + "location": "East US", + "properties": { + "subjectName": "CN=my-subject-name.company.country.net", + "provisioningState": "Succeeded", + "domainControlValidation": "CNAME" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_Get.json new file mode 100644 index 000000000000..4de74bb40dae --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_Get.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "environmentName": "mikonokubeenv", + "detectorName": "ManagedEnvAvailabilityMetrics", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/managedEnvironments/mikonokubeenv/detectors/ManagedEnvAvailabilityMetrics", + "name": "ManagedEnvAvailabilityMetrics", + "type": "Microsoft.App/managedEnvironments/detectors", + "properties": { + "metadata": { + "id": "ManagedEnvAvailabilityMetrics", + "name": "Managed Env Netowrk Inbound and Outbound", + "description": "This detector shows the Managed Environment Network Inbound and Outbound.", + "author": "", + "category": "Availability and Performance", + "supportTopicList": [], + "type": "Detector", + "score": 0 + }, + "dataset": [ + { + "table": { + "tableName": "", + "columns": [ + { + "columnName": "TimeStamp", + "dataType": "DateTime" + }, + { + "columnName": "Metric", + "dataType": "String" + }, + { + "columnName": "Average", + "dataType": "Double" + } + ], + "rows": [ + [ + "2022-03-15T21:35:00", + "RxBytes", + 0 + ] + ] + }, + "renderingProperties": { + "type": 8, + "title": "Managed Environment Network Inbound ", + "description": "", + "isVisible": true + } + } + ], + "status": { + "statusId": 3 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_List.json new file mode 100644 index 000000000000..f6cb94eb0c3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentDiagnostics_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "environmentName": "mikonokubeenv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/managedEnvironments/mikonokubeenv/detectors/ManagedEnvAvailabilityMetrics", + "name": "ManagedEnvAvailabilityMetrics", + "type": "Microsoft.App/managedEnvironments/detectors", + "properties": { + "metadata": { + "id": "ManagedEnvAvailabilityMetrics", + "name": "Availability Metrics for Managed Environments", + "author": "", + "category": "Availability and Performance", + "supportTopicList": [], + "type": "Analysis", + "score": 0 + }, + "dataset": [], + "status": { + "statusId": 4 + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..7c2de2fadcdb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..08baffd27e6b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..aa764b612851 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..2bc8070b49d2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..3609b77a5711 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CreateOrUpdate.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2023-05-01", + "environmentEnvelope": { + "location": "East US", + "properties": { + "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "dnsSuffix": "www.my-name.com", + "certificateValue": "Y2VydA==", + "certificatePassword": "1234" + }, + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "peerAuthentication": { + "mtls": { + "enabled": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "capp-svc-testcontainerenv-eastus", + "peerAuthentication": { + "mtls": { + "enabled": true + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "capp-svc-testcontainerenv-eastus", + "peerAuthentication": { + "mtls": { + "enabled": true + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json new file mode 100644 index 000000000000..1c53366b9268 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2023-05-01", + "environmentEnvelope": { + "location": "East US", + "properties": { + "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "dnsSuffix": "www.my-name.com", + "certificateValue": "Y2VydA==", + "certificatePassword": "1234" + }, + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "myInfrastructureRgName" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "myInfrastructureRgName" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + }, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "myInfrastructureRgName" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Delete.json new file mode 100644 index 000000000000..e967589280a3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "examplekenv", + "api-version": "2023-05-01", + "location": "East US" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/localtions/eastus/operationResults/00000" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Get.json new file mode 100644 index 000000000000..25edeba14af7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Get.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "kedaConfiguration": { + "version": "2.8.1" + }, + "daprConfiguration": { + "version": "1.9" + }, + "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus", + "peerAuthentication": { + "mtls": { + "enabled": true + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_GetAuthToken.json new file mode 100644 index 000000000000..7018e298c03d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_GetAuthToken.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "rg", + "environmentName": "testenv", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testenv", + "name": "testenv", + "type": "Microsoft.App/environments/accesstoken", + "location": "East US", + "properties": { + "token": "testToken", + "expires": "2022-07-14T19:22:50.3080223Z" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..b1c2435083b8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListByResourceGroup.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus" + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null, + "zoneRedundant": true, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name2.com", + "subjectName": "CN=www.my-name2.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "infrastructureResourceGroup": "capp-svc-demo1-northcentralus" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..bf2ad2cd121c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListBySubscription.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus" + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null, + "zoneRedundant": true, + "vnetConfiguration": { + "infrastructureSubnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/VNetName/subnets/subnetName1" + }, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name2.com", + "subjectName": "CN=www.my-name2.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "infrastructureResourceGroup": "capp-svc-demo1-northcentralus" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListWorkloadProfileStates.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListWorkloadProfileStates.json new file mode 100644 index 000000000000..6285e14fe17b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_ListWorkloadProfileStates.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "jlaw-demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/workloadProfileStates/GP1", + "name": "GP1", + "type": "/providers/Microsoft.App/workloadProfileStates", + "properties": { + "minimumCount": 3, + "maximumCount": 10, + "currentCount": 3 + } + }, + { + "id": "/subscriptions/55f240e3-3d66-44f6-8358-4e4f3d7a2e51/providers/Microsoft.App/workloadProfileStates/MO3", + "name": "MO3", + "type": "/providers/Microsoft.App/workloadProfileStates", + "properties": { + "minimumCount": 0, + "maximumCount": 2, + "currentCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Patch.json new file mode 100644 index 000000000000..eb0d7bb7d038 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/ManagedEnvironments_Patch.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2023-05-01", + "environmentEnvelope": { + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "zoneRedundant": true, + "customDomainConfiguration": { + "customDomainVerificationId": "custom domain verification id", + "dnsSuffix": "www.my-name.com", + "subjectName": "CN=www.my-name.com", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT" + }, + "eventStreamEndpoint": "testEndpoint", + "workloadProfiles": [ + { + "name": "My-GP-01", + "workloadProfileType": "GeneralPurpose", + "minimumCount": 3, + "maximumCount": 12 + }, + { + "name": "My-MO-01", + "workloadProfileType": "MemoryOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-CO-01", + "workloadProfileType": "ComputeOptimized", + "minimumCount": 3, + "maximumCount": 6 + }, + { + "name": "My-consumption-01", + "workloadProfileType": "Consumption" + } + ], + "infrastructureResourceGroup": "capp-svc-jlaw-demo1-northcentralus" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/managedEnvironmentOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2023-05-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Operations_List.json new file mode 100644 index 000000000000..53cd18119896 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Operations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.App/containerApps/Read", + "display": { + "provider": "Microsoft Apps", + "resource": "Container App", + "operation": "Get Container App", + "description": "Get the properties of a Container App" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_Get.json new file mode 100644 index 000000000000..345b313bd02b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "replicaName": "myapp--0wlqy09-5d9774cff-5wnd8", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "runningState": "Running", + "runningStateDetails": "testDetail", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0, + "runningState": "Running", + "runningStateDetails": "testDetail", + "logStreamEndpoint": "testLogStreamEndpoint", + "execEndpoint": "testExecEndpoint" + } + ], + "initContainers": [] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_List.json new file mode 100644 index 000000000000..a7a29ab167be --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Replicas_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "runningState": "Running", + "runningStateDetails": "testDetail", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0, + "runningState": "Running", + "runningStateDetails": "testDetail", + "logStreamEndpoint": "testLogStreamEndpoint", + "execEndpoint": "testExecEndpoint" + } + ], + "initContainers": [] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Activate.json new file mode 100644 index 000000000000..0c90109f8240 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Activate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2023-05-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Deactivate.json new file mode 100644 index 000000000000..0c90109f8240 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Deactivate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2023-05-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Get.json new file mode 100644 index 000000000000..4ff454a63613 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppcontainerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "lastActiveTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.politehill-ab123456.eastus.azurecontainerapps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "trafficWeight": 80, + "active": true, + "replicas": 1, + "runningState": "Running" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_List.json new file mode 100644 index 000000000000..2e27941183fb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "lastActiveTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.politehill-ab123456.eastus.azurecontainerapps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "trafficWeight": 80, + "active": true, + "replicas": 1 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Restart.json new file mode 100644 index 000000000000..55e8d7c1b6ed --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/Revisions_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testStaticSite0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2023-05-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_CreateOrUpdate.json new file mode 100644 index 000000000000..bbdddec01e34 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_CreateOrUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "sourceControlName": "current", + "api-version": "2023-05-01", + "sourceControlEnvelope": { + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "test-registry.azurecr.io", + "registryUserName": "test-registry", + "registryPassword": "" + }, + "azureCredentials": { + "clientId": "", + "clientSecret": "", + "tenantId": "", + "kind": "feaderated" + }, + "contextPath": "./", + "image": "image/tag", + "githubPersonalAccessToken": "test" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "test-registry.azurecr.io", + "registryUserName": "testreg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + }, + "201": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/5a7f31af-8ae5-489b-a67e-f0a2d11df796?api-version=2021-03-01" + }, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "test-registry.azurecr.io", + "registryUserName": "test-registry" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Delete.json new file mode 100644 index 000000000000..9ed30f003477 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "sourceControlName": "current", + "api-version": "2023-05-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/14a787ee-c65f-462d-8a8b-897f69a2ab4f?api-version=2021-03-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Get.json new file mode 100644 index 000000000000..a4905d84ad3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "sourceControlName": "current", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_ListByContainer.json new file mode 100644 index 000000000000..fa625a5680db --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2023-05-01/examples/SourceControls_ListByContainer.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md index 797889fd9ce8..c762e7b81c12 100644 --- a/specification/app/resource-manager/readme.md +++ b/specification/app/resource-manager/readme.md @@ -26,15 +26,39 @@ These are the global settings for the app. ``` yaml openapi-type: arm -tag: package-preview-2023-04 +tag: package-2023-05 ``` +### Tag: package-2023-05 + +These settings apply only when `--tag=package-2023-05` is specified on the command line. + +```yaml $(tag) == 'package-2023-05' +input-file: + - Microsoft.App/stable/2023-05-01/AuthConfigs.json + - Microsoft.App/stable/2023-05-01/AvailableWorkloadProfiles.json + - Microsoft.App/stable/2023-05-01/BillingMeters.json + - Microsoft.App/stable/2023-05-01/CommonDefinitions.json + - Microsoft.App/stable/2023-05-01/ConnectedEnvironments.json + - Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsCertificates.json + - Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsDaprComponents.json + - Microsoft.App/stable/2023-05-01/ConnectedEnvironmentsStorages.json + - Microsoft.App/stable/2023-05-01/ContainerApps.json + - Microsoft.App/stable/2023-05-01/ContainerAppsRevisions.json + - Microsoft.App/stable/2023-05-01/Diagnostics.json + - Microsoft.App/stable/2023-05-01/Global.json + - Microsoft.App/stable/2023-05-01/Jobs.json + - Microsoft.App/stable/2023-05-01/ManagedEnvironments.json + - Microsoft.App/stable/2023-05-01/ManagedEnvironmentsDaprComponents.json + - Microsoft.App/stable/2023-05-01/ManagedEnvironmentsStorages.json + - Microsoft.App/stable/2023-05-01/SourceControls.json +``` ### Tag: package-preview-2023-04 These settings apply only when `--tag=package-preview-2023-04` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-04' +``` yaml $(tag) == 'package-preview-2023-04' input-file: - Microsoft.App/preview/2023-04-01-preview/AuthConfigs.json - Microsoft.App/preview/2023-04-01-preview/AvailableWorkloadProfiles.json @@ -54,6 +78,7 @@ input-file: - Microsoft.App/preview/2023-04-01-preview/ManagedEnvironmentsStorages.json - Microsoft.App/preview/2023-04-01-preview/SourceControls.json ``` + ### Tag: package-preview-2022-11 These settings apply only when `--tag=package-preview-2022-11` is specified on the command line. diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md index 5a7182e484d5..6518f9ec6f28 100644 --- a/specification/authorization/resource-manager/readme.python.md +++ b/specification/authorization/resource-manager/readme.python.md @@ -20,6 +20,7 @@ multiapi: true clear-output-folder: true batch: - tag: package-2022-08-01-preview-only + - tag: package-2022-05-01-preview-only - tag: package-2022-04-01-only - tag: package-2022-04-01-preview-only - tag: package-2021-12-01-preview-python-only @@ -52,6 +53,15 @@ namespace: azure.mgmt.authorization.v2022_08_01_preview output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2022_08_01_preview ``` +### Tag: package-2022-05-01-preview-only and python + +These settings apply only when `--tag=package-2022-05-01-preview-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-2022-05-01-preview-only' && $(python) +namespace: azure.mgmt.authorization.v2022_05_01_preview +output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2022_05_01_preview +``` + ### Tag: package-2022-04-01-only and python These settings apply only when `--tag=package-2022-04-01-only --python` is specified on the command line. diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/kusto.json index 68103461b793..af3416f9eaac 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/kusto.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-05-02/kusto.json @@ -67,9 +67,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Create or update a Kusto cluster.", "parameters": [ { @@ -142,9 +139,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Update a Kusto cluster.", "parameters": [ { @@ -227,9 +221,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Deletes a Kusto cluster.", "parameters": [ { @@ -282,9 +273,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Stops a Kusto cluster.", "parameters": [ { @@ -334,9 +322,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Starts a Kusto cluster.", "parameters": [ { @@ -386,9 +371,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Migrate data from a Kusto cluster to another cluster.", "parameters": [ { @@ -541,9 +523,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Create a Kusto cluster principalAssignment.", "parameters": [ { @@ -603,9 +582,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Deletes a Kusto cluster principalAssignment.", "parameters": [ { @@ -752,9 +728,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" @@ -813,9 +786,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" @@ -1441,10 +1411,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "patch": { "tags": [ @@ -1524,10 +1491,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -1580,10 +1544,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/inviteFollower": { @@ -1752,9 +1713,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Creates a Kusto cluster database principalAssignment.", "parameters": [ { @@ -1817,9 +1775,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Deletes a Kusto principalAssignment.", "parameters": [ { @@ -2122,9 +2077,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Creates a Kusto database script.", "parameters": [ { @@ -2199,9 +2151,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Updates a database script.", "parameters": [ { @@ -2270,9 +2219,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Deletes a Kusto database script.", "parameters": [ { @@ -2419,9 +2365,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Creates a managed private endpoint.", "parameters": [ { @@ -2493,9 +2436,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Updates a managed private endpoint.", "parameters": [ { @@ -2561,9 +2501,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Deletes a managed private endpoint.", "parameters": [ { @@ -2752,10 +2689,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -2808,10 +2742,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources": { @@ -3107,10 +3038,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -3163,10 +3091,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": { @@ -3286,9 +3211,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "description": "Checks that the data connection parameters are valid.", "parameters": [ { @@ -3580,10 +3502,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "patch": { "tags": [ @@ -3669,10 +3588,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -3728,10 +3644,7 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true } }, "/providers/Microsoft.Kusto/operations": { @@ -3828,9 +3741,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" @@ -3889,9 +3799,6 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" diff --git a/specification/azurestackhci/resource-manager/readme.java.md b/specification/azurestackhci/resource-manager/readme.java.md index 15b845a9677e..abce88c82cb6 100644 --- a/specification/azurestackhci/resource-manager/readme.java.md +++ b/specification/azurestackhci/resource-manager/readme.java.md @@ -4,46 +4,5 @@ These settings apply only when `--java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(java) -azure-arm: true -fluent: true -namespace: com.microsoft.azure.management.azurestackhci -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azurestackhci -directive: - - from: arcSettings.json - where: $.definitions.ArcSetting.properties.systemData - transform: $['x-ms-client-flatten'] = false - reason: systemData should not be flattened - - from: clusters.json - where: $.definitions.Cluster.properties.systemData - transform: $['x-ms-client-flatten'] = false - reason: systemData should not be flattened - - from: extensions.json - where: $.definitions.Extension.properties.systemData - transform: $['x-ms-client-flatten'] = false - reason: systemData should not be flattened -``` - -# Validation - - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2020-10 -``` - -### Tag: package-2020-10 and java - -These settings apply only when `--tag=package-2020-10 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.azurestackhci.v2020_10_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/azurestackhci/mgmt-v2020_10_01 -regenerate-manager: true -generate-interface: true +rename-model: "Update:HciUpdate" ``` diff --git a/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetCodeSigningStatus.json b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetCodeSigningStatus.json new file mode 100644 index 000000000000..575d9f8e835d --- /dev/null +++ b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetCodeSigningStatus.json @@ -0,0 +1,24 @@ +{ + "operationId": "CertificateProfileOperations_GetCodeSigningStatus", + "title": "Gets the status of a codesign operation.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "operationId": "9797c668-5b3c-4586-8e0c-2768c8160bad" + }, + "responses": { + "200": { + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signStatus": { + "operationId": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signature": "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA==", + "signingCertificate": "N2IzZDk3OWNhODMzMGE5NGZhN2U5ZTFiNDY2ZDhiOTllMGJjZGVhMWVjOTA1OTZjMGRjYzhkN2VmNmI0MzAwYw==" + } + } + } + } +} diff --git a/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSignRootCertificate.json b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_GetSignRootCertificate.json new file mode 100644 index 000000000000..a30586b44a55 --- /dev/null +++ b/specification/codesigning/CodeSigning/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": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": "MjUzNjlhMDQ3Yzc0YTQ3NjdiNjYzZTIzMWFlMTAxMDVkODMxM2Y5ZjNkNmU0YTVlOTQ1ZGZiMWQ5NDgzOWU0NQ==" + } + } +} diff --git a/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListSignEkus.json b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListSignEkus.json new file mode 100644 index 000000000000..f02e52c98d6e --- /dev/null +++ b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_ListSignEkus.json @@ -0,0 +1,19 @@ +{ + "operationId": "CertificateProfileOperations_ListSignEkus", + "title": "Gets a list of extended key usage object identifiers that are allowed.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": { + "ekus": [ + "1.3.6.1.5.5.7.3.8", + "1.3.6.1.5.5.7.3.10" + ] + } + } + } +} diff --git a/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json new file mode 100644 index 000000000000..1d8643356d05 --- /dev/null +++ b/specification/codesigning/CodeSigning/examples/2023-06-15-preview/CertificateProfileOperations_Sign.json @@ -0,0 +1,39 @@ +{ + "operationId": "CertificateProfileOperations_Sign", + "title": "Submit a codesign operation.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "x-correlation-id": "9797c668-5b3c-4586-8e0c-2768c8160bad", + "body": { + "signatureAlgorithm": "RS256", + "digest": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=", + "fileHashList": [ + "Y29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0", + "c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQ=" + ], + "authenticodeHashList": [ + "dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWE=", + "IFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt" + ] + } + }, + "responses": { + "202": { + "headers": { + "azure-async-operation": "http://localhost:8080/operations/76f60a30-d088-42e0-b16d-b76b88d3cbe1" + }, + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signStatus": { + "operationId": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signature": "cXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXM=", + "signingCertificate": "bmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0" + } + } + } + } +} diff --git a/specification/codesigning/CodeSigning/main.tsp b/specification/codesigning/CodeSigning/main.tsp new file mode 100644 index 000000000000..5de3acc20400 --- /dev/null +++ b/specification/codesigning/CodeSigning/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 CodeSigning", + summary: "Azure CodeSigning is a service that provides managed code signing for all.", +}) +@versioned(Azure.CodeSigning.Versions) +@server( + "https://{region}.codesigning.azure.net/", + "CodeSign and retrieve relevant information pertaining signing process.", + { + @doc("The Azure region wherein requests for signing will be sent.") + region: string, + } +) +@doc("Azure CodeSigning is a service that provides managed code signing for all.") +namespace Azure.CodeSigning; + +@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 codesigning operation.") + @doc("This status operation requires that a Sign request has been submitted and the operationId is known.") + @route("/codesigningaccounts/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}/sign/{operationId}") + getCodeSigningStatus is Foundations.GetOperationStatus< + CodeSigningOptions, + CodeSignResult + >; + + #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 codesigning 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/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}/sign/rootcert") + getSignRootCertificate is RpcOperation< + CodeSigningOptions, + 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 codesigning operation.") + listSignEkus is StandardResourceOperations.ResourceList; + + @summary("Submit a codesign operation.") + @doc("Submit a codesign operation under the created codesign account and profile name provided.") + @pollingOperation(CertificateProfileOperations.getCodeSigningStatus) + sign is StandardResourceOperations.LongRunningResourceAction< + CertificateProfile, + CodeSigningSubmissionOptions, + CodeSignOperationStatus + >; +} + +@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 CodeSigning customer account created upon registration on the service.") +@resource("codesigningaccounts") +model CodeSigningAccount { + @key("codeSigningAccountName") + @visibility("read", "update") + @doc("Azure CodeSigning account name.") + codeSigningAccountName: string; +} + +@doc("Azure CodeSigning certificate profile configured on a codesign account.") +@resource("certificateprofiles") +@parentResource(CodeSigningAccount) +model CertificateProfile { + @key("certificateProfileName") + @visibility("read", "update") + @doc("Azure Codesigning certificate profile name under a codesign account.") + certificateProfileName: string; +} + +@doc("The codesign request information to be signed by the service.") +model CodeSigningSubmissionOptions { + @doc("The supported signature algorithm identifiers.") + signatureAlgorithm: SignatureAlgorithm; + + @doc("Content digest to codesign.") + digest: bytes; + + @doc("List of full file digital signatures.") + fileHashList?: bytes[]; + + @doc("List of authenticode digital signatures.") + authenticodeHashList?: bytes[]; +} + +@doc("The codesign operation status response.") +model CodeSignOperationStatus { + @doc("Unique Id of the operation.") + id: string; + + @doc("The result of the codesign operation including the signature and signing certificate.") + signResult?: CodeSignResult; +} + +@doc("The sign status model.") +model CodeSignResult { + @doc("Response Id of the codesign operation.") + operationId: string; + + @doc("Digital signature of the requested content digest.") + signature?: bytes; + + @doc(""" +Signing certificate corresponding to the private key used to codesign the requested +digest. +""") + signingCertificate?: bytes; +} + +@doc("Codesigning option parameters corresponding to the account and certificate profile name.") +model CodeSigningOptions { + @doc("CodeSigning account name.") + @path + codeSigningAccountName: string; + + @doc("Certificate profile name.") + @path + certificateProfileName: string; +} + +@doc("Extended key usage object identifier that are allowed.") +@resource("sign/eku") +@parentResource(CertificateProfile) +model ExtendedKeyUsage { + @key("ekus") + @visibility("read", "update") + @doc("An element of ekus.") + ekus: 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; +} diff --git a/specification/codesigning/CodeSigning/tspconfig.yaml b/specification/codesigning/CodeSigning/tspconfig.yaml new file mode 100644 index 000000000000..d7f494408eec --- /dev/null +++ b/specification/codesigning/CodeSigning/tspconfig.yaml @@ -0,0 +1,30 @@ +parameters: + "service-dir": + default: "sdk/codesigning" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + azure-resource-provider-folder: "data-plane" + emitter-output-dir: "{project-root}/.." + examples-directory: "examples" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azure.codesigning.json" + "@azure-tools/typespec-python": + package-dir: "azure-codesigning" + package-mode: "dataplane" + package-name: "{package-dir}" + "@azure-tools/typespec-csharp": + clear-output-folder: true + package-dir: "Azure.CodeSigning" + model-namespace: false + namespace: "{package-dir}" + "@azure-tools/typespec-ts": + package-dir: "azurecodesigning-rest" + generateMetadata: true + generateTest: true + packageDetails: + name: "@azure-rest/azure-codesigning-rest" + description: "Azure Codesigning Service" + "@azure-tools/typespec-java": + package-dir: "azure-codesigning" + namespace: com.azure.codesigning diff --git a/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/azure.codesigning.json b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/azure.codesigning.json new file mode 100644 index 000000000000..7f465fb6d205 --- /dev/null +++ b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/azure.codesigning.json @@ -0,0 +1,683 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure CodeSigning", + "version": "2023-06-15-preview", + "description": "Azure CodeSigning is a service that provides managed code 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", + "required": true, + "description": "The Azure region wherein requests for signing will be sent.", + "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/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}:sign": { + "post": { + "operationId": "CertificateProfileOperations_Sign", + "summary": "Submit a codesign operation.", + "description": "Submit a codesign operation under the created codesign account and profile name provided.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "codeSigningAccountName", + "in": "path", + "description": "Azure CodeSigning account name.", + "required": true, + "type": "string" + }, + { + "name": "certificateProfileName", + "in": "path", + "description": "Azure Codesigning certificate profile name under a codesign account.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CodeSigningSubmissionOptions" + } + } + ], + "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.Error", + "description": "Error object that describes the error when status is \"Failed\"." + }, + "result": { + "$ref": "#/definitions/CodeSignOperationStatus", + "description": "The result of the operation." + } + }, + "required": [ + "id", + "status" + ] + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "description": "String error code indicating what went wrong.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Submit a codesign operation.": { + "$ref": "./examples/CertificateProfileOperations_Sign.json" + } + } + } + }, + "/codesigningaccounts/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}/sign/{operationId}": { + "get": { + "operationId": "CertificateProfileOperations_GetCodeSigningStatus", + "summary": "Gets the status of a codesigning 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" + }, + { + "name": "operationId", + "in": "path", + "description": "The unique ID of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/CodeSigningOptions.codeSigningAccountName" + }, + { + "$ref": "#/parameters/CodeSigningOptions.certificateProfileName" + } + ], + "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/CodeSignResult", + "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": { + "description": "String error code indicating what went wrong.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Gets the status of a codesign operation.": { + "$ref": "./examples/CertificateProfileOperations_GetCodeSigningStatus.json" + } + } + } + }, + "/codesigningaccounts/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}/sign/eku": { + "get": { + "operationId": "CertificateProfileOperations_ListSignEkus", + "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 codesigning operation.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "codeSigningAccountName", + "in": "path", + "description": "Azure CodeSigning account name.", + "required": true, + "type": "string" + }, + { + "name": "certificateProfileName", + "in": "path", + "description": "Azure Codesigning certificate profile name under a codesign account.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "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" + ] + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "description": "String error code indicating what went wrong.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Gets a list of extended key usage object identifiers that are allowed.": { + "$ref": "./examples/CertificateProfileOperations_ListSignEkus.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/codesigningaccounts/{codeSigningAccountName}/certificateprofiles/{certificateProfileName}/sign/rootcert": { + "get": { + "operationId": "CertificateProfileOperations_GetSignRootCertificate", + "summary": "Gets the codesigning 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/CodeSigningOptions.codeSigningAccountName" + }, + { + "$ref": "#/parameters/CodeSigningOptions.certificateProfileName" + } + ], + "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": { + "description": "String error code indicating what went wrong.", + "type": "string" + } + } + } + }, + "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": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "name": "InProgress", + "value": "InProgress", + "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." + } + ] + } + }, + "CertificateProfile": { + "type": "object", + "description": "Azure CodeSigning certificate profile configured on a codesign account.", + "properties": { + "certificateProfileName": { + "type": "string", + "description": "Azure Codesigning certificate profile name under a codesign account.", + "x-ms-mutability": [ + "read", + "update" + ] + } + }, + "required": [ + "certificateProfileName" + ] + }, + "CodeSignOperationStatus": { + "type": "object", + "description": "The codesign operation status response.", + "properties": { + "id": { + "type": "string", + "description": "Unique Id of the operation." + }, + "signResult": { + "$ref": "#/definitions/CodeSignResult", + "description": "The result of the codesign operation including the signature and signing certificate." + } + }, + "required": [ + "id" + ] + }, + "CodeSignResult": { + "type": "object", + "description": "The sign status model.", + "properties": { + "operationId": { + "type": "string", + "description": "Response Id of the codesign operation." + }, + "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 codesign the requested\ndigest." + } + }, + "required": [ + "operationId" + ] + }, + "CodeSigningAccount": { + "type": "object", + "description": "Azure CodeSigning customer account created upon registration on the service.", + "properties": { + "codeSigningAccountName": { + "type": "string", + "description": "Azure CodeSigning account name.", + "x-ms-mutability": [ + "read", + "update" + ] + } + }, + "required": [ + "codeSigningAccountName" + ] + }, + "CodeSigningSubmissionOptions": { + "type": "object", + "description": "The codesign 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 codesign." + }, + "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" + ] + }, + "ExtendedKeyUsage": { + "type": "object", + "description": "Extended key usage object identifier that are allowed.", + "properties": { + "ekus": { + "type": "array", + "description": "An element of ekus.", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "update" + ] + } + }, + "required": [ + "ekus" + ] + }, + "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." + } + ] + } + }, + "Versions": { + "type": "string", + "description": "Versions info.", + "enum": [ + "2023-06-15-preview" + ], + "x-ms-enum": { + "name": "Versions", + "modelAsString": true, + "values": [ + { + "name": "v2023_06_15_preview", + "value": "2023-06-15-preview", + "description": "The 2023-06-15-preview version." + } + ] + } + } + }, + "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" + }, + "CodeSigningOptions.certificateProfileName": { + "name": "certificateProfileName", + "in": "path", + "description": "Certificate profile name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CodeSigningOptions.codeSigningAccountName": { + "name": "codeSigningAccountName", + "in": "path", + "description": "CodeSigning account name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetCodeSigningStatus.json b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetCodeSigningStatus.json new file mode 100644 index 000000000000..575d9f8e835d --- /dev/null +++ b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetCodeSigningStatus.json @@ -0,0 +1,24 @@ +{ + "operationId": "CertificateProfileOperations_GetCodeSigningStatus", + "title": "Gets the status of a codesign operation.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "operationId": "9797c668-5b3c-4586-8e0c-2768c8160bad" + }, + "responses": { + "200": { + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signStatus": { + "operationId": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signature": "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA==", + "signingCertificate": "N2IzZDk3OWNhODMzMGE5NGZhN2U5ZTFiNDY2ZDhiOTllMGJjZGVhMWVjOTA1OTZjMGRjYzhkN2VmNmI0MzAwYw==" + } + } + } + } +} diff --git a/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSignRootCertificate.json b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_GetSignRootCertificate.json new file mode 100644 index 000000000000..a30586b44a55 --- /dev/null +++ b/specification/codesigning/data-plane/Azure.CodeSigning/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": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": "MjUzNjlhMDQ3Yzc0YTQ3NjdiNjYzZTIzMWFlMTAxMDVkODMxM2Y5ZjNkNmU0YTVlOTQ1ZGZiMWQ5NDgzOWU0NQ==" + } + } +} diff --git a/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListSignEkus.json b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListSignEkus.json new file mode 100644 index 000000000000..f02e52c98d6e --- /dev/null +++ b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_ListSignEkus.json @@ -0,0 +1,19 @@ +{ + "operationId": "CertificateProfileOperations_ListSignEkus", + "title": "Gets a list of extended key usage object identifiers that are allowed.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview" + }, + "responses": { + "200": { + "body": { + "ekus": [ + "1.3.6.1.5.5.7.3.8", + "1.3.6.1.5.5.7.3.10" + ] + } + } + } +} diff --git a/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json new file mode 100644 index 000000000000..1d8643356d05 --- /dev/null +++ b/specification/codesigning/data-plane/Azure.CodeSigning/preview/2023-06-15-preview/examples/CertificateProfileOperations_Sign.json @@ -0,0 +1,39 @@ +{ + "operationId": "CertificateProfileOperations_Sign", + "title": "Submit a codesign operation.", + "parameters": { + "codeSigningAccountName": "YourAccountName", + "certificateProfileName": "YourCertificateProfileName", + "api-version": "2023-06-15-preview", + "x-correlation-id": "9797c668-5b3c-4586-8e0c-2768c8160bad", + "body": { + "signatureAlgorithm": "RS256", + "digest": "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=", + "fileHashList": [ + "Y29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0", + "c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQ=" + ], + "authenticodeHashList": [ + "dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWE=", + "IFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt" + ] + } + }, + "responses": { + "202": { + "headers": { + "azure-async-operation": "http://localhost:8080/operations/76f60a30-d088-42e0-b16d-b76b88d3cbe1" + }, + "body": { + "id": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signStatus": { + "operationId": "76f60a30-d088-42e0-b16d-b76b88d3cbe1", + "status": "InProgress", + "signature": "cXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXM=", + "signingCertificate": "bmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0" + } + } + } + } +} diff --git a/specification/codesigning/data-plane/readme.md b/specification/codesigning/data-plane/readme.md new file mode 100644 index 000000000000..1a43e8691a4b --- /dev/null +++ b/specification/codesigning/data-plane/readme.md @@ -0,0 +1,41 @@ +# Azure.CodeSigning + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure.CodeSigning. + +## 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.CodeSigning. + +```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.CodeSigning/preview/2023-06-15-preview/azure.codesigning.json +``` + +--- diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp index bc44d4a8848d..cf46311a6b6c 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp @@ -404,5 +404,6 @@ model ResponseError { @header("x-ms-error-code") @doc("Error code.") msErrorCode?: string; + ...ErrorResponse; } diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp index d74eff349b26..ec75d7e48398 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp @@ -14,7 +14,7 @@ namespace AnomalyDetector.Multivariate; @post @doc("Operation template for multivariate anomaly detection service action.") op MultivariateServiceAction( - ...TParams + ...TParams, ): TResponse | ResponseError; // Operations @@ -35,7 +35,7 @@ op getMultivariateBatchDetectionResult( @format("uuid") @doc("ID of a batch detection result.") @path - resultId: string + resultId: string, ): MultivariateDetectionResult | ResponseError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Azure core RpcOperation does not support custom error response" @@ -68,6 +68,7 @@ op trainMultivariateModel is MultivariateServiceAction< @doc("Location and ID of the model.") @header location: string; + @body result: AnomalyDetectionModel; } >; @@ -84,7 +85,7 @@ op trainMultivariateModel is MultivariateServiceAction< @doc("List models of a resource.") op listMultivariateModels( ...SkipQueryParameter, - ...TopQueryParameter + ...TopQueryParameter, ): ModelList | ResponseError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Does not fit any standard operation pattern" @@ -98,7 +99,7 @@ op listMultivariateModels( op deleteMultivariateModel( @doc("Model identifier.") @path - modelId: string + modelId: string, ): { @doc("Delete model successfully.") @statusCode @@ -119,7 +120,7 @@ and variables used in the model. op getMultivariateModel( @doc("Model identifier.") @path - modelId: string + modelId: string, ): AnomalyDetectionModel | ResponseError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Does not fit any standard operation pattern" @@ -144,7 +145,7 @@ op detectMultivariateBatchAnomaly( @doc("Request of multivariate anomaly detection.") @body - options: MultivariateBatchDetectionOptions + options: MultivariateBatchDetectionOptions, ): { @statusCode statusCode: 202; @@ -155,6 +156,7 @@ op detectMultivariateBatchAnomaly( @doc("Location of the detection result.") @header("Operation-Location") operationLocation: string; + @body result: MultivariateDetectionResult; } | ResponseError; @@ -177,5 +179,5 @@ op detectMultivariateLastAnomaly( @doc("Request of the last detection.") @body - options: MultivariateLastDetectionOptions + options: MultivariateLastDetectionOptions, ): MultivariateLastDetectionResult | ResponseError; diff --git a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp index a0b3c79da65f..fad570c9f1c4 100644 --- a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp @@ -12,7 +12,7 @@ namespace AnomalyDetector.Univariate; @post @doc("Operation template for univariate anomaly detection service action.") op UnivariateServiceAction( - ...TParams + ...TParams, ): TResponse | AnomalyDetectorError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Azure core RpcOperation does not support custom error response" diff --git a/specification/cognitiveservices/HealthInsights/healthinsights.common/model.common.response.tsp b/specification/cognitiveservices/HealthInsights/healthinsights.common/model.common.response.tsp index 6d6839e661f7..bb3d0dcde428 100644 --- a/specification/cognitiveservices/HealthInsights/healthinsights.common/model.common.response.tsp +++ b/specification/cognitiveservices/HealthInsights/healthinsights.common/model.common.response.tsp @@ -85,6 +85,7 @@ system. model TrialMatcherInferenceEvidence { @doc("A piece of evidence from the eligibility criteria text of a clinical trial.") eligibilityCriteriaEvidence?: string; + ...InferenceEvidence; } diff --git a/specification/cognitiveservices/HealthInsights/healthinsights.oncophenotype/model.oncophenotype.tsp b/specification/cognitiveservices/HealthInsights/healthinsights.oncophenotype/model.oncophenotype.tsp index adf92080ef4c..35607ffdc641 100644 --- a/specification/cognitiveservices/HealthInsights/healthinsights.oncophenotype/model.oncophenotype.tsp +++ b/specification/cognitiveservices/HealthInsights/healthinsights.oncophenotype/model.oncophenotype.tsp @@ -46,6 +46,7 @@ model OncoPhenotypePatientResult { model OncoPhenotypeInference { @doc("The type of the Onco Phenotype inference") type: OncoPhenotypeInferenceType; + ...Inference; @doc("The evidence corresponding to the inference value.") diff --git a/specification/cognitiveservices/HealthInsights/healthinsights.trialmatcher/model.trialmatcher.tsp b/specification/cognitiveservices/HealthInsights/healthinsights.trialmatcher/model.trialmatcher.tsp index 00827dd71ff5..c42a7fbfa3bf 100644 --- a/specification/cognitiveservices/HealthInsights/healthinsights.trialmatcher/model.trialmatcher.tsp +++ b/specification/cognitiveservices/HealthInsights/healthinsights.trialmatcher/model.trialmatcher.tsp @@ -87,6 +87,7 @@ The bio-medical category related to the coded concept, e.g. Diagnosis, Symptom, model TrialMatcherInference { @doc("The type of the Trial Matcher inference.") type: TrialMatcherInferenceType; + ...Inference; @doc("The evidence corresponding to the inference value.") @@ -328,6 +329,7 @@ model ContactDetails { model ClinicalTrialResearchFacility { @doc("The facility's name.") name: string; + ...GeographicLocation; } diff --git a/specification/cognitiveservices/OpenAI.Inference/main.tsp b/specification/cognitiveservices/OpenAI.Inference/main.tsp index 90b8cecb0bda..170ef8da71c6 100644 --- a/specification/cognitiveservices/OpenAI.Inference/main.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/main.tsp @@ -55,7 +55,8 @@ enum ServiceApiVersions { @TypeSpec.Rest.resource("deployments") model Deployment { @visibility("read") - @doc("deployment id of the deployed model") + @doc("Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.") + @projectedName("java", "deploymentOrModelName") @key deploymentId: string; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/chat.completions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/chat.completions.tsp index 4968671b3349..808bbbc8bb28 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/chat.completions.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/chat.completions.tsp @@ -32,9 +32,10 @@ model ChatMessage { @projectedName("json", "role") role: ChatRole; + #suppress "@azure-tools/typespec-azure-core/no-nullable" "we explicitly want a nullable string" @doc("The text associated with this message payload.") @projectedName("json", "content") - content?: string; + content: string | null; @doc(""" The name of the author of this message. `name` is required if role is `function`, and it should be the name of the @@ -190,7 +191,7 @@ model ChatChoice { index: int32; #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls" - #suppress "@azure-tools/typespec-autorest/union-unsupported" "https://github.com/Azure/typespec-azure/issues/3180" + #suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred" @doc("The reason that this chat completions choice completed its generated.") @projectedName("json", "finish_reason") finishReason: CompletionsFinishReason | null; @@ -199,6 +200,15 @@ model ChatChoice { @projectedName("json", "delta") @projectedName("csharp", "InternalStreamingDeltaMessage") delta?: ChatMessage; + + @doc(""" + Information about the content filtering category (hate, sexual, violence, self_harm), if it + has been detected, as well as the severity level (very_low, low, medium, high-scale that + determines the intensity and risk level of harmful content) and if it has been filtered or not. + """) + @added(ServiceApiVersions.v2023_06_01_Preview) + @projectedName("json", "content_filter_results") + contentFilterResults?: ContentFilterResults; } @doc(""" @@ -216,8 +226,9 @@ model ChatCompletions { represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970. """) @projectedName("json", "created") - @projectedName("csharp", "InternalCreatedSecondsAfterUnixEpoch") - created: int32; + @projectedName("java", "createdAt") + @encode(DateTimeKnownEncoding.unixTimestamp, int32) + created: utcDateTime; @doc(""" The collection of completions choices associated with this completions response. @@ -227,6 +238,14 @@ model ChatCompletions { @projectedName("json", "choices") choices: ChatChoice[]; + @doc(""" + Content filtering results for zero or more prompts in the request. In a streaming request, + results for different prompts may arrive at different times or in different orders. + """) + @added(ServiceApiVersions.v2023_06_01_Preview) + @projectedName("json", "prompt_annotations") + promptFilterResults?: PromptFilterResult[]; + @doc(""" Usage information for tokens processed and generated as part of this completions operation. """) diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions.common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions.common.tsp index c0cb9121c20e..10608fa6e4f1 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions.common.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions.common.tsp @@ -43,3 +43,96 @@ enum CompletionsFinishReason { @added(ServiceApiVersions.v2023_07_01_Preview) functionCall: "function_call", } + +@added(ServiceApiVersions.v2023_06_01_Preview) +@doc("Ratings for the intensity and risk level of harmful content.") +enum ContentFilterSeverity { + @doc(""" + Content may be related to violence, self-harm, sexual, or hate categories but the terms + are used in general, journalistic, scientific, medical, and similar professional contexts, + which are appropriate for most audiences. + """) + safe: "safe", + + @doc(""" + Content that expresses prejudiced, judgmental, or opinionated views, includes offensive + use of language, stereotyping, use cases exploring a fictional world (for example, gaming, + literature) and depictions at low intensity. + """) + low: "low", + + @doc(""" + Content that uses offensive, insulting, mocking, intimidating, or demeaning language + towards specific identity groups, includes depictions of seeking and executing harmful + instructions, fantasies, glorification, promotion of harm at medium intensity. + """) + medium: "medium", + + @doc(""" + Content that displays explicit and severe harmful instructions, actions, + damage, or abuse; includes endorsement, glorification, or promotion of severe + harmful acts, extreme or illegal forms of harm, radicalization, or non-consensual + power exchange or abuse. + """) + high: "high", +} + +@added(ServiceApiVersions.v2023_06_01_Preview) +@doc("Information about filtered content severity level and if it has been filtered or not.") +model ContentFilterResult { + @doc("Ratings for the intensity and risk level of filtered content.") + @projectedName("json", "severity") + severity: ContentFilterSeverity; + + @doc("A value indicating whether or not the content has been filtered.") + @projectedName("json", "filtered") + filtered: boolean; +} + +@added(ServiceApiVersions.v2023_06_01_Preview) +@doc("Information about the content filtering category, if it has been detected.") +model ContentFilterResults { + @doc(""" + Describes language related to anatomical organs and genitals, romantic relationships, + acts portrayed in erotic or affectionate terms, physical sexual acts, including + those portrayed as an assault or a forced sexual violent act against one’s will, + prostitution, pornography, and abuse. + """) + sexual?: ContentFilterResult; + + @doc(""" + Describes language related to physical actions intended to hurt, injure, damage, or + kill someone or something; describes weapons, etc. + """) + violence?: ContentFilterResult; + + @doc(""" + Describes language attacks or uses that include pejorative or discriminatory language + with reference to a person or identity group on the basis of certain differentiating + attributes of these groups including but not limited to race, ethnicity, nationality, + gender identity and expression, sexual orientation, religion, immigration status, ability + status, personal appearance, and body size. + """) + hate?: ContentFilterResult; + + @doc(""" + Describes language related to physical actions intended to purposely hurt, injure, + or damage one’s body, or kill oneself. + """) + @projectedName("json", "self_harm") + selfHarm?: ContentFilterResult; +} + +@added(ServiceApiVersions.v2023_06_01_Preview) +@doc(""" +Content filtering results for a single prompt in the request. +""") +model PromptFilterResult { + @doc("The index of this prompt in the set of prompt results") + @projectedName("json", "prompt_index") + promptIndex: int32; + + @doc("Content filtering results for this prompt") + @projectedName("json", "content_filter_results") + contentFilterResults?: ContentFilterResults; +} diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions.create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions.create.tsp index c3f695e16ecf..e65c4c7f1967 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions.create.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions.create.tsp @@ -1,9 +1,11 @@ import "@typespec/rest"; import "@typespec/http"; +import "@typespec/versioning"; import "./completions.common.tsp"; using TypeSpec.Rest; using TypeSpec.Http; +using TypeSpec.Versioning; namespace Azure.OpenAI; @@ -156,8 +158,17 @@ model Completions { represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970. """) @projectedName("json", "created") - @projectedName("csharp", "InternalCreatedSecondsAfterUnixEpoch") - created: int32; + @projectedName("java", "createdAt") + @encode(DateTimeKnownEncoding.unixTimestamp, int32) + created: utcDateTime; + + @doc(""" + Content filtering results for zero or more prompts in the request. In a streaming request, + results for different prompts may arrive at different times or in different orders. + """) + @added(ServiceApiVersions.v2023_06_01_Preview) + @projectedName("json", "prompt_annotations") + promptFilterResults?: PromptFilterResult[]; @doc(""" The collection of completions choices associated with this completions response. @@ -188,6 +199,15 @@ model Choice { @projectedName("json", "index") index: int32; + @doc(""" + Information about the content filtering category (hate, sexual, violence, self_harm), if it + has been detected, as well as the severity level (very_low, low, medium, high-scale that + determines the intensity and risk level of harmful content) and if it has been filtered or not. + """) + @added(ServiceApiVersions.v2023_06_01_Preview) + @projectedName("json", "content_filter_results") + contentFilterResults?: ContentFilterResults; + #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls" @doc("The log probabilities model for tokens associated with this completions choice.") @projectedName("json", "logprobs") @@ -195,7 +215,7 @@ model Choice { logprobs: CompletionsLogProbabilityModel | null; #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls" - #suppress "@azure-tools/typespec-autorest/union-unsupported" "https://github.com/Azure/typespec-azure/issues/3180" + #suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred" @doc("Reason for finishing") @projectedName("json", "finish_reason") finishReason: CompletionsFinishReason | null; @@ -214,15 +234,18 @@ model CompletionsLogProbabilityModel { @doc("A collection of log probability values for the tokens in this completions data.") @projectedName("json", "token_logprobs") @projectedName("csharp", "TokenLogProbabilities") + @projectedName("java", "tokenLogProbabilities") tokenLogprobs: NullableFloat[]; @doc("A mapping of tokens to maximum log probability values in this completions data.") @projectedName("json", "top_logprobs") @projectedName("csharp", "TopLogProbabilities") + @projectedName("java", "topLogProbabilities") topLogprobs: Record[]; @doc("The text offsets associated with tokens in this completions data.") @projectedName("json", "text_offset") @projectedName("csharp", "TextOffsets") + @projectedName("java", "textOffsets") textOffset: int32[]; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/embeddings.create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/embeddings.create.tsp index 506615ae7491..94806ec160c1 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/embeddings.create.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/embeddings.create.tsp @@ -60,6 +60,7 @@ model EmbeddingItem { embedding: float32[]; @doc("Index of the prompt to which the EmbeddingItem corresponds.") + @projectedName("java", "promptIndex") index: int32; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/images.tsp b/specification/cognitiveservices/OpenAI.Inference/models/images.tsp index cc9dffd6601d..6dc36991511e 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/images.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/images.tsp @@ -76,12 +76,13 @@ model ImagePayload { @added(ServiceApiVersions.v2023_06_01_Preview) model ImageGenerations { @doc("A timestamp when this job or item was created (in unix epochs).") - @projectedName("csharp", "InternalCreatedSecondsAfterUnixEpoch") - created: int64; + @projectedName("json", "created") + @projectedName("java", "createdAt") + @encode(DateTimeKnownEncoding.unixTimestamp, int32) + created: utcDateTime; #suppress "@azure-tools/typespec-autorest/union-unsupported" "openapi v2 not required" @doc("The images generated by the operator.") - @projectedName("csharp", "InternalEmittedImageResponseItems") data: ImageLocation[] | ImagePayload[]; } @@ -96,7 +97,10 @@ model BatchImageGenerationOperationResponse { id: string; @doc("A timestamp when this job or item was created (in unix epochs).") - created: int64; + @projectedName("json", "created") + @projectedName("java", "createdAt") + @encode(DateTimeKnownEncoding.unixTimestamp, int32) + created: utcDateTime; @doc("A timestamp when this operation and its associated images expire and will be deleted (in unix epochs).") expires?: int64; diff --git a/specification/cognitiveservices/OpenAI.Inference/routes.tsp b/specification/cognitiveservices/OpenAI.Inference/routes.tsp index 989654ca7e84..6e9479864283 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes.tsp @@ -54,7 +54,7 @@ op getChatCompletions is ResourceAction< // Note: pending resolution of cross-language code emission behavior for long-running operations, image generation // reuses its final operation response model as its status polling model. - +#suppress "@azure-tools/typespec-azure-core/rpc-operation-request-body" "MUST fix in next update" #suppress "@azure-tools/typespec-azure-core/no-rpc-path-params" "Allowed because this is a non-standard status polling operation." @doc("Returns the status of the images operation") @added(ServiceApiVersions.v2023_06_01_Preview) diff --git a/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml b/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml index b3d1870826b6..289377428715 100644 --- a/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml +++ b/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml @@ -23,6 +23,8 @@ options: partial-update: true enable-sync-stack: true generate-tests: false + custom-types-subpackage: "implementation.models" + custom-types: "FunctionCallModelBase,FunctionCallPreset,FunctionCallPresetFunctionCallModel,FunctionNameFunctionCallModel" # "@azure-tools/typespec-ts": # package-dir: "azure-ai-openai" # emitter-output-dir: "{project-root}/generated" diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/stable/v1.1/openapi.json b/specification/cognitiveservices/data-plane/AnomalyDetector/stable/v1.1/openapi.json index d7cfee0c8582..74a0e78f73c0 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/stable/v1.1/openapi.json +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/stable/v1.1/openapi.json @@ -61,8 +61,8 @@ "AnomalyDetectorApiKeyAuth": { "type": "apiKey", "description": "The secret key for your Azure Cognitive Services subscription.", - "in": "header", - "name": "Ocp-Apim-Subscription-Key" + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } }, "tags": [], @@ -76,8 +76,8 @@ { "name": "resultId", "in": "path", - "required": true, "description": "ID of a batch detection result.", + "required": true, "type": "string", "format": "uuid" } @@ -91,14 +91,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, @@ -110,168 +110,168 @@ } }, "/multivariate/models": { - "post": { - "operationId": "Multivariate_TrainMultivariateModel", - "summary": "Train a Multivariate Anomaly Detection Model", - "description": "Create and train a multivariate anomaly detection model. The request must\ninclude a source parameter to indicate an Azure Blob\nStorage URI that's accessible to the service. There are two types of data input. The Blob Storage URI can point to an Azure Blob\nStorage folder that contains multiple CSV files, where each CSV file has\ntwo columns, time stamp and variable. Or the Blob Storage URI can point to a single blob that contains a CSV file that has all the variables and a\ntime stamp column.\nThe model object will be created and returned in the response, but the\ntraining process happens asynchronously. To check the training status, call\nGetMultivariateModel with the modelId value and check the status field in the\nmodelInfo object.", + "get": { + "operationId": "Multivariate_ListMultivariateModels", + "summary": "List Multivariate Models", + "description": "List models of a resource.", "parameters": [ { - "name": "modelInfo", - "in": "body", - "required": true, - "description": "Model information.", - "schema": { - "$ref": "#/definitions/Multivariate.ModelInfo" - } + "$ref": "#/parameters/Azure.Core.SkipQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.TopQueryParameter" } ], "responses": { - "201": { - "description": "The request has succeeded and a new resource has been created as a result.", - "headers": { - "location": { - "description": "Location and ID of the model.", - "type": "string" - } - }, + "200": { + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Multivariate.AnomalyDetectionModel" + "$ref": "#/definitions/Multivariate.ModelList" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, "x-ms-examples": { - "Create and train multivariate model": { - "$ref": "./examples/TrainModel.json" + "List multivariate models": { + "$ref": "./examples/ListModel.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } }, - "get": { - "operationId": "Multivariate_ListMultivariateModels", - "summary": "List Multivariate Models", - "description": "List models of a resource.", + "post": { + "operationId": "Multivariate_TrainMultivariateModel", + "summary": "Train a Multivariate Anomaly Detection Model", + "description": "Create and train a multivariate anomaly detection model. The request must\ninclude a source parameter to indicate an Azure Blob\nStorage URI that's accessible to the service. There are two types of data input. The Blob Storage URI can point to an Azure Blob\nStorage folder that contains multiple CSV files, where each CSV file has\ntwo columns, time stamp and variable. Or the Blob Storage URI can point to a single blob that contains a CSV file that has all the variables and a\ntime stamp column.\nThe model object will be created and returned in the response, but the\ntraining process happens asynchronously. To check the training status, call\nGetMultivariateModel with the modelId value and check the status field in the\nmodelInfo object.", "parameters": [ { - "$ref": "#/parameters/Azure.Core.SkipQueryParameter" - }, - { - "$ref": "#/parameters/Azure.Core.TopQueryParameter" + "name": "modelInfo", + "in": "body", + "description": "Model information.", + "required": true, + "schema": { + "$ref": "#/definitions/Multivariate.ModelInfo" + } } ], "responses": { - "200": { - "description": "The request has succeeded.", + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", "schema": { - "$ref": "#/definitions/Multivariate.ModelList" + "$ref": "#/definitions/Multivariate.AnomalyDetectionModel" + }, + "headers": { + "location": { + "type": "string", + "description": "Location and ID of the model." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List multivariate models": { - "$ref": "./examples/ListModel.json" + "Create and train multivariate model": { + "$ref": "./examples/TrainModel.json" } } } }, "/multivariate/models/{modelId}": { - "delete": { - "operationId": "Multivariate_DeleteMultivariateModel", - "summary": "Delete Multivariate Model", - "description": "Delete an existing multivariate model according to the modelId value.", + "get": { + "operationId": "Multivariate_GetMultivariateModel", + "summary": "Get Multivariate Model", + "description": "Get detailed information about the multivariate model, including the training status\nand variables used in the model.", "parameters": [ { "name": "modelId", "in": "path", - "required": true, "description": "Model identifier.", + "required": true, "type": "string" } ], "responses": { - "204": { - "description": "There is no content to send for this request, but the headers may be useful. " + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Multivariate.AnomalyDetectionModel" + } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, "x-ms-examples": { - "Delete multivariate model": { - "$ref": "./examples/DeleteModel.json" + "Get a multivariate model": { + "$ref": "./examples/GetModel.json" } } }, - "get": { - "operationId": "Multivariate_GetMultivariateModel", - "summary": "Get Multivariate Model", - "description": "Get detailed information about the multivariate model, including the training status\nand variables used in the model.", + "delete": { + "operationId": "Multivariate_DeleteMultivariateModel", + "summary": "Delete Multivariate Model", + "description": "Delete an existing multivariate model according to the modelId value.", "parameters": [ { "name": "modelId", "in": "path", - "required": true, "description": "Model identifier.", + "required": true, "type": "string" } ], "responses": { - "200": { - "description": "The request has succeeded.", - "schema": { - "$ref": "#/definitions/Multivariate.AnomalyDetectionModel" - } + "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/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, "x-ms-examples": { - "Get a multivariate model": { - "$ref": "./examples/GetModel.json" + "Delete multivariate model": { + "$ref": "./examples/DeleteModel.json" } } } @@ -285,15 +285,15 @@ { "name": "modelId", "in": "path", - "required": true, "description": "Model identifier.", + "required": true, "type": "string" }, { "name": "options", "in": "body", - "required": true, "description": "Request of multivariate anomaly detection.", + "required": true, "schema": { "$ref": "#/definitions/Multivariate.MultivariateBatchDetectionOptions" } @@ -302,30 +302,30 @@ "responses": { "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/Multivariate.MultivariateDetectionResult" + }, "headers": { "Operation-Id": { - "description": "ID of the detection result.", - "type": "string" + "type": "string", + "description": "ID of the detection result." }, "Operation-Location": { - "description": "Location of the detection result.", - "type": "string" + "type": "string", + "description": "Location of the detection result." } - }, - "schema": { - "$ref": "#/definitions/Multivariate.MultivariateDetectionResult" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, @@ -345,15 +345,15 @@ { "name": "modelId", "in": "path", - "required": true, "description": "Model identifier.", + "required": true, "type": "string" }, { "name": "options", "in": "body", - "required": true, "description": "Request of the last detection.", + "required": true, "schema": { "$ref": "#/definitions/Multivariate.MultivariateLastDetectionOptions" } @@ -368,14 +368,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Multivariate.ResponseError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Multivariate.ResponseError" } } }, @@ -395,8 +395,8 @@ { "name": "options", "in": "body", - "required": true, "description": "Method of univariate anomaly detection.", + "required": true, "schema": { "$ref": "#/definitions/Univariate.UnivariateChangePointDetectionOptions" } @@ -411,14 +411,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Univariate.AnomalyDetectorError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Univariate.AnomalyDetectorError" } } }, @@ -438,8 +438,8 @@ { "name": "options", "in": "body", - "required": true, "description": "Method of univariate anomaly detection.", + "required": true, "schema": { "$ref": "#/definitions/Univariate.UnivariateDetectionOptions" } @@ -454,14 +454,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Univariate.AnomalyDetectorError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Univariate.AnomalyDetectorError" } } }, @@ -481,8 +481,8 @@ { "name": "options", "in": "body", - "required": true, "description": "Method of univariate anomaly detection.", + "required": true, "schema": { "$ref": "#/definitions/Univariate.UnivariateDetectionOptions" } @@ -497,14 +497,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Univariate.AnomalyDetectorError" + }, "headers": { "x-ms-error-code": { "description": "Error code.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Univariate.AnomalyDetectorError" } } }, @@ -530,6 +530,7 @@ }, "Multivariate.AlignPolicy": { "type": "object", + "description": "Manner of aligning multiple variables.", "properties": { "alignMode": { "$ref": "#/definitions/Multivariate.AlignMode", @@ -544,16 +545,16 @@ "format": "float", "description": "Field that's required when fillNAMethod is Fixed." } - }, - "description": "Manner of aligning multiple variables." + } }, "Multivariate.AnomalyDetectionModel": { "type": "object", + "description": "Response of getting a model.", "properties": { "modelId": { "type": "string", - "description": "Model identifier.", - "format": "uuid" + "format": "uuid", + "description": "Model identifier." }, "createdTime": { "type": "string", @@ -570,7 +571,6 @@ "description": "Training result of a model, including its status, errors, and diagnostics\ninformation." } }, - "description": "Response of getting a model.", "required": [ "modelId", "createdTime", @@ -579,6 +579,7 @@ }, "Multivariate.AnomalyInterpretation": { "type": "object", + "description": "Interpretation of the anomalous time stamp.", "properties": { "variable": { "type": "string", @@ -593,11 +594,11 @@ "$ref": "#/definitions/Multivariate.CorrelationChanges", "description": "Correlation changes among the anomalous variables." } - }, - "description": "Interpretation of the anomalous time stamp." + } }, "Multivariate.AnomalyState": { "type": "object", + "description": "Anomaly status and information.", "properties": { "timestamp": { "type": "string", @@ -610,21 +611,20 @@ }, "errors": { "type": "array", + "description": "Error message for the current time stamp.", "items": { "$ref": "#/definitions/Multivariate.ErrorResponse" }, - "x-ms-identifiers": [], - "description": "Error message for the current time stamp.", - "x-typespec-name": "Multivariate.ErrorResponse[]" + "x-ms-identifiers": [] } }, - "description": "Anomaly status and information.", "required": [ "timestamp" ] }, "Multivariate.AnomalyValue": { "type": "object", + "description": "Detailed information of the anomalous time stamp.", "properties": { "isAnomaly": { "type": "boolean", @@ -646,15 +646,13 @@ }, "interpretation": { "type": "array", + "description": "Interpretation of this anomalous time stamp.", "items": { "$ref": "#/definitions/Multivariate.AnomalyInterpretation" }, - "x-ms-identifiers": [], - "description": "Interpretation of this anomalous time stamp.", - "x-typespec-name": "Multivariate.AnomalyInterpretation[]" + "x-ms-identifiers": [] } }, - "description": "Detailed information of the anomalous time stamp.", "required": [ "isAnomaly", "severity", @@ -663,17 +661,16 @@ }, "Multivariate.CorrelationChanges": { "type": "object", + "description": "Correlation changes among the anomalous variables.", "properties": { "changedVariables": { "type": "array", + "description": "Correlated variables that have correlation changes under an anomaly.", "items": { "type": "string" - }, - "description": "Correlated variables that have correlation changes under an anomaly.", - "x-typespec-name": "string[]" + } } - }, - "description": "Correlation changes among the anomalous variables." + } }, "Multivariate.DataSchema": { "type": "string", @@ -701,6 +698,7 @@ }, "Multivariate.DiagnosticsInfo": { "type": "object", + "description": "Diagnostics information to help inspect the states of a model or variable.", "properties": { "modelState": { "$ref": "#/definitions/Multivariate.ModelState", @@ -708,18 +706,17 @@ }, "variableStates": { "type": "array", + "description": "Variable status.", "items": { "$ref": "#/definitions/Multivariate.VariableState" }, - "x-ms-identifiers": [], - "description": "Variable status.", - "x-typespec-name": "Multivariate.VariableState[]" + "x-ms-identifiers": [] } - }, - "description": "Diagnostics information to help inspect the states of a model or variable." + } }, "Multivariate.ErrorResponse": { "type": "object", + "description": "Error information that the API returned.", "properties": { "code": { "type": "string", @@ -730,7 +727,6 @@ "description": "Message that explains the error that the service reported." } }, - "description": "Error information that the API returned.", "required": [ "code", "message" @@ -753,6 +749,7 @@ }, "Multivariate.ModelInfo": { "type": "object", + "description": "Training result of a model, including its status, errors, and diagnostics\ninformation.", "properties": { "dataSource": { "type": "string", @@ -794,13 +791,12 @@ }, "errors": { "type": "array", + "description": "Error messages after failure to create a model.", "items": { "$ref": "#/definitions/Multivariate.ErrorResponse" }, - "x-ms-identifiers": [], - "description": "Error messages after failure to create a model.", - "x-typespec-name": "Multivariate.ErrorResponse[]", - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] }, "diagnosticsInfo": { "$ref": "#/definitions/Multivariate.DiagnosticsInfo", @@ -808,7 +804,6 @@ "readOnly": true } }, - "description": "Training result of a model, including its status, errors, and diagnostics\ninformation.", "required": [ "dataSource", "startTime", @@ -817,15 +812,15 @@ }, "Multivariate.ModelList": { "type": "object", + "description": "Response of listing models.", "properties": { "models": { "type": "array", + "description": "List of models.", "items": { "$ref": "#/definitions/Multivariate.AnomalyDetectionModel" }, - "x-ms-identifiers": [], - "description": "List of models.", - "x-typespec-name": "Multivariate.AnomalyDetectionModel[]" + "x-ms-identifiers": [] }, "currentCount": { "type": "integer", @@ -842,7 +837,6 @@ "description": "Link to fetch more models." } }, - "description": "Response of listing models.", "required": [ "models", "currentCount", @@ -851,45 +845,41 @@ }, "Multivariate.ModelState": { "type": "object", + "description": "Model status.", "properties": { "epochIds": { "type": "array", + "description": "Number of passes of the entire training dataset that the\nalgorithm has completed.", "items": { "type": "integer", "format": "int32" - }, - "description": "Number of passes of the entire training dataset that the\nalgorithm has completed.", - "x-typespec-name": "int32[]" + } }, "trainLosses": { "type": "array", + "description": "List of metrics used to assess how the model fits the training data for each\nepoch.", "items": { "type": "number", "format": "float" - }, - "description": "List of metrics used to assess how the model fits the training data for each\nepoch.", - "x-typespec-name": "float32[]" + } }, "validationLosses": { "type": "array", + "description": "List of metrics used to assess how the model fits the validation set for each\nepoch.", "items": { "type": "number", "format": "float" - }, - "description": "List of metrics used to assess how the model fits the validation set for each\nepoch.", - "x-typespec-name": "float32[]" + } }, "latenciesInSeconds": { "type": "array", + "description": "Latency for each epoch.", "items": { "type": "number", "format": "float" - }, - "description": "Latency for each epoch.", - "x-typespec-name": "float32[]" + } } - }, - "description": "Model status." + } }, "Multivariate.ModelStatus": { "type": "string", @@ -928,6 +918,7 @@ }, "Multivariate.MultivariateBatchDetectionOptions": { "type": "object", + "description": "Detection request for batch inference. This is an asynchronous inference that\nwill need another API to get detection results.", "properties": { "dataSource": { "type": "string", @@ -951,7 +942,6 @@ "description": "End date/time of data for detection, which should\nbe in ISO 8601 format." } }, - "description": "Detection request for batch inference. This is an asynchronous inference that\nwill need another API to get detection results.", "required": [ "dataSource", "startTime", @@ -960,6 +950,7 @@ }, "Multivariate.MultivariateBatchDetectionResultSummary": { "type": "object", + "description": "Multivariate anomaly detection status.", "properties": { "status": { "$ref": "#/definitions/Multivariate.MultivariateBatchDetectionStatus", @@ -967,28 +958,25 @@ }, "errors": { "type": "array", + "description": "Error message when detection fails.", "items": { "$ref": "#/definitions/Multivariate.ErrorResponse" }, - "x-ms-identifiers": [], - "description": "Error message when detection fails.", - "x-typespec-name": "Multivariate.ErrorResponse[]" + "x-ms-identifiers": [] }, "variableStates": { "type": "array", + "description": "Variable status.", "items": { "$ref": "#/definitions/Multivariate.VariableState" }, - "x-ms-identifiers": [], - "description": "Variable status.", - "x-typespec-name": "Multivariate.VariableState[]" + "x-ms-identifiers": [] }, "setupInfo": { "$ref": "#/definitions/Multivariate.MultivariateBatchDetectionOptions", "description": "Detection request for batch inference. This is an asynchronous inference that\nwill need another API to get detection results." } }, - "description": "Multivariate anomaly detection status.", "required": [ "status", "setupInfo" @@ -1027,11 +1015,12 @@ }, "Multivariate.MultivariateDetectionResult": { "type": "object", + "description": "Detection results for the resultId value.", "properties": { "resultId": { "type": "string", - "description": "Result identifier that's used to fetch the results of an inference call.", - "format": "uuid" + "format": "uuid", + "description": "Result identifier that's used to fetch the results of an inference call." }, "summary": { "$ref": "#/definitions/Multivariate.MultivariateBatchDetectionResultSummary", @@ -1039,15 +1028,13 @@ }, "results": { "type": "array", + "description": "Detection result for each time stamp.", "items": { "$ref": "#/definitions/Multivariate.AnomalyState" }, - "x-ms-identifiers": [], - "description": "Detection result for each time stamp.", - "x-typespec-name": "Multivariate.AnomalyState[]" + "x-ms-identifiers": [] } }, - "description": "Detection results for the resultId value.", "required": [ "resultId", "summary", @@ -1056,15 +1043,15 @@ }, "Multivariate.MultivariateLastDetectionOptions": { "type": "object", + "description": "Request of the last detection.", "properties": { "variables": { "type": "array", + "description": "Contains the inference data, including the name, time stamps (ISO 8601), and\nvalues of variables.", "items": { "$ref": "#/definitions/Multivariate.VariableValues" }, - "x-ms-identifiers": [], - "description": "Contains the inference data, including the name, time stamps (ISO 8601), and\nvalues of variables.", - "x-typespec-name": "Multivariate.VariableValues[]" + "x-ms-identifiers": [] }, "topContributorCount": { "type": "integer", @@ -1073,37 +1060,35 @@ "default": 10 } }, - "description": "Request of the last detection.", "required": [ "variables" ] }, "Multivariate.MultivariateLastDetectionResult": { "type": "object", + "description": "Results of the last detection.", "properties": { "variableStates": { "type": "array", + "description": "Variable status.", "items": { "$ref": "#/definitions/Multivariate.VariableState" }, - "x-ms-identifiers": [], - "description": "Variable status.", - "x-typespec-name": "Multivariate.VariableState[]" + "x-ms-identifiers": [] }, "results": { "type": "array", + "description": "Anomaly status and information.", "items": { "$ref": "#/definitions/Multivariate.AnomalyState" }, - "x-ms-identifiers": [], - "description": "Anomaly status and information.", - "x-typespec-name": "Multivariate.AnomalyState[]" + "x-ms-identifiers": [] } - }, - "description": "Results of the last detection." + } }, "Multivariate.ResponseError": { "type": "object", + "description": "Error response.", "properties": { "code": { "type": "string", @@ -1114,7 +1099,6 @@ "description": "Message that explains the error that the service reported." } }, - "description": "Error response.", "required": [ "code", "message" @@ -1122,6 +1106,7 @@ }, "Multivariate.VariableState": { "type": "object", + "description": "Variable status.", "properties": { "variable": { "type": "string", @@ -1149,11 +1134,11 @@ "format": "date-time", "description": "Last valid time stamp with a value of input data." } - }, - "description": "Variable status." + } }, "Multivariate.VariableValues": { "type": "object", + "description": "Variable values.", "properties": { "variable": { "type": "string", @@ -1161,23 +1146,20 @@ }, "timestamps": { "type": "array", + "description": "Time stamps of the last detection request.", "items": { "type": "string" - }, - "description": "Time stamps of the last detection request.", - "x-typespec-name": "string[]" + } }, "values": { "type": "array", + "description": "Values of variables.", "items": { "type": "number", "format": "float" - }, - "description": "Values of variables.", - "x-typespec-name": "float32[]" + } } }, - "description": "Variable values.", "required": [ "variable", "timestamps", @@ -1186,6 +1168,7 @@ }, "Univariate.AnomalyDetectorError": { "type": "object", + "description": "Error information that the API returned.", "properties": { "code": { "$ref": "#/definitions/Univariate.AnomalyDetectorErrorCodes", @@ -1196,7 +1179,6 @@ "description": "Message that explains the error that the service reported." } }, - "description": "Error information that the API returned.", "required": [ "code", "message" @@ -1321,6 +1303,7 @@ }, "Univariate.TimeSeriesPoint": { "type": "object", + "description": "Definition of input time series points.", "properties": { "timestamp": { "type": "string", @@ -1333,22 +1316,21 @@ "description": "Measurement of that point." } }, - "description": "Definition of input time series points.", "required": [ "value" ] }, "Univariate.UnivariateChangePointDetectionOptions": { "type": "object", + "description": "Request of change point detection.", "properties": { "series": { "type": "array", + "description": "Time series data points. Points should be sorted by time stamp in ascending\norder to match the change point detection result.", "items": { "$ref": "#/definitions/Univariate.TimeSeriesPoint" }, - "x-ms-identifiers": [], - "description": "Time series data points. Points should be sorted by time stamp in ascending\norder to match the change point detection result.", - "x-typespec-name": "Univariate.TimeSeriesPoint[]" + "x-ms-identifiers": [] }, "granularity": { "$ref": "#/definitions/Univariate.TimeGranularity", @@ -1375,7 +1357,6 @@ "description": "Argument that indicates an advanced model parameter between 0.0 and 1.0. The lower the\nvalue is, the larger the trend error is, which means less change point will\nbe accepted." } }, - "description": "Request of change point detection.", "required": [ "series", "granularity" @@ -1383,6 +1364,7 @@ }, "Univariate.UnivariateChangePointDetectionResult": { "type": "object", + "description": "Response of change point detection.", "properties": { "period": { "type": "integer", @@ -1392,35 +1374,32 @@ }, "isChangePoint": { "type": "array", + "description": "Change point properties for each input point. True means\nan anomaly (either negative or positive) has been detected. The index of the\narray is consistent with the input series.", "items": { "type": "boolean" - }, - "description": "Change point properties for each input point. True means\nan anomaly (either negative or positive) has been detected. The index of the\narray is consistent with the input series.", - "x-typespec-name": "boolean[]" + } }, "confidenceScores": { "type": "array", + "description": "Change point confidence of each point.", "items": { "type": "number", "format": "float" - }, - "description": "Change point confidence of each point.", - "x-typespec-name": "float32[]" + } } - }, - "description": "Response of change point detection." + } }, "Univariate.UnivariateDetectionOptions": { "type": "object", + "description": "Request of the entire or last anomaly detection.", "properties": { "series": { "type": "array", + "description": "Time series data points. Points should be sorted by time stamp in ascending\norder to match the anomaly detection result. If the data is not sorted\ncorrectly or there's a duplicated time stamp, the API won't work. In such\na case, an error message is returned.", "items": { "$ref": "#/definitions/Univariate.TimeSeriesPoint" }, - "x-ms-identifiers": [], - "description": "Time series data points. Points should be sorted by time stamp in ascending\norder to match the anomaly detection result. If the data is not sorted\ncorrectly or there's a duplicated time stamp, the API won't work. In such\na case, an error message is returned.", - "x-typespec-name": "Univariate.TimeSeriesPoint[]" + "x-ms-identifiers": [] }, "granularity": { "$ref": "#/definitions/Univariate.TimeGranularity", @@ -1456,13 +1435,13 @@ "description": "Specifies the value to fill. It's used when granularity is not \"none\"\nand imputeMode is \"fixed\"." } }, - "description": "Request of the entire or last anomaly detection.", "required": [ "series" ] }, "Univariate.UnivariateEntireDetectionResult": { "type": "object", + "description": "Response of the entire anomaly detection.", "properties": { "period": { "type": "integer", @@ -1471,66 +1450,58 @@ }, "expectedValues": { "type": "array", + "description": "Expected value for each input point. The index of the\narray is consistent with the input series.", "items": { "type": "number", "format": "float" - }, - "description": "Expected value for each input point. The index of the\narray is consistent with the input series.", - "x-typespec-name": "float32[]" + } }, "upperMargins": { "type": "array", + "description": "Upper margin of each input point. UpperMargin is used to\ncalculate upperBoundary, which is equal to expectedValue + (100 -\nmarginScale)*upperMargin. Anomalies in the response can be filtered by\nupperBoundary and lowerBoundary. Adjusting the marginScale value can help filter less\nsignificant anomalies on the client side. The index of the array is\nconsistent with the input series.", "items": { "type": "number", "format": "float" - }, - "description": "Upper margin of each input point. UpperMargin is used to\ncalculate upperBoundary, which is equal to expectedValue + (100 -\nmarginScale)*upperMargin. Anomalies in the response can be filtered by\nupperBoundary and lowerBoundary. Adjusting the marginScale value can help filter less\nsignificant anomalies on the client side. The index of the array is\nconsistent with the input series.", - "x-typespec-name": "float32[]" + } }, "lowerMargins": { "type": "array", + "description": "Lower margin of each input point. LowerMargin is used to\ncalculate lowerBoundary, which is equal to expectedValue - (100 -\nmarginScale)*lowerMargin. Points between the boundary can be marked as normal\nones on the client side. The index of the array is consistent with the input\nseries.", "items": { "type": "number", "format": "float" - }, - "description": "Lower margin of each input point. LowerMargin is used to\ncalculate lowerBoundary, which is equal to expectedValue - (100 -\nmarginScale)*lowerMargin. Points between the boundary can be marked as normal\nones on the client side. The index of the array is consistent with the input\nseries.", - "x-typespec-name": "float32[]" + } }, "isAnomaly": { "type": "array", + "description": "Anomaly properties for each input point. True means an\nanomaly (either negative or positive) has been detected. The index of the array\nis consistent with the input series.", "items": { "type": "boolean" - }, - "description": "Anomaly properties for each input point. True means an\nanomaly (either negative or positive) has been detected. The index of the array\nis consistent with the input series.", - "x-typespec-name": "boolean[]" + } }, "isNegativeAnomaly": { "type": "array", + "description": "Anomaly status in a negative direction for each input\npoint. True means a negative anomaly has been detected. A negative anomaly\nmeans the point is detected as an anomaly and its real value is smaller than\nthe expected one. The index of the array is consistent with the input series.", "items": { "type": "boolean" - }, - "description": "Anomaly status in a negative direction for each input\npoint. True means a negative anomaly has been detected. A negative anomaly\nmeans the point is detected as an anomaly and its real value is smaller than\nthe expected one. The index of the array is consistent with the input series.", - "x-typespec-name": "boolean[]" + } }, "isPositiveAnomaly": { "type": "array", + "description": "Anomaly status in a positive direction for each input\npoint. True means a positive anomaly has been detected. A positive anomaly\nmeans the point is detected as an anomaly and its real value is larger than the\nexpected one. The index of the array is consistent with the input series.", "items": { "type": "boolean" - }, - "description": "Anomaly status in a positive direction for each input\npoint. True means a positive anomaly has been detected. A positive anomaly\nmeans the point is detected as an anomaly and its real value is larger than the\nexpected one. The index of the array is consistent with the input series.", - "x-typespec-name": "boolean[]" + } }, "severity": { "type": "array", + "description": "Severity score for each input point. The larger the value is, the more\nsevere the anomaly is. For normal points, the severity is always 0.", "items": { "type": "number", "format": "float" - }, - "description": "Severity score for each input point. The larger the value is, the more\nsevere the anomaly is. For normal points, the severity is always 0.", - "x-typespec-name": "float32[]" + } } }, - "description": "Response of the entire anomaly detection.", "required": [ "period", "expectedValues", @@ -1543,6 +1514,7 @@ }, "Univariate.UnivariateLastDetectionResult": { "type": "object", + "description": "Response of the last anomaly detection.", "properties": { "period": { "type": "integer", @@ -1587,7 +1559,6 @@ "description": "Severity score for the last input point. The larger the value is, the more\nsevere the anomaly is. For normal points, the severity is always 0." } }, - "description": "Response of the last anomaly detection.", "required": [ "period", "suggestedWindow", @@ -1604,18 +1575,18 @@ "Azure.Core.SkipQueryParameter": { "name": "skip", "in": "query", - "required": false, "description": "The number of result items to skip.", - "default": 0, + "required": false, "type": "integer", "format": "int32", + "default": 0, "x-ms-parameter-location": "method" }, "Azure.Core.TopQueryParameter": { "name": "top", "in": "query", - "required": false, "description": "The number of result items to return.", + "required": false, "type": "integer", "format": "int32", "x-ms-parameter-location": "method" diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/azureopenai.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/azureopenai.json new file mode 100644 index 000000000000..62bed5a0860b --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/azureopenai.json @@ -0,0 +1,1869 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure OpenAI API version 2023-07-01-preview", + "description": "APIs for fine-tuning, managing deployments of OpenAI models and to support OpenAI DALL-E.", + "version": "2023-07-01-preview" + }, + "paths": { + "/files": { + "get": { + "tags": [ + "Files:" + ], + "summary": "Gets a list of all files owned by the Azure OpenAI resource.\r\nThese include user uploaded content like files with purpose \"fine-tune\" for training or validation of fine-tunes models\r\nas well as files that are generated by the service such as \"fine-tune-results\" which contains various metrics for the corresponding fine-tune job.", + "operationId": "Files_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/FileList" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting all files owned by this account.": { + "$ref": "./examples/get_files.json" + } + } + }, + "post": { + "tags": [ + "Files:" + ], + "summary": "Creates a new file entity by uploading data from a local machine. Uploaded files can, for example, be used for training or evaluating fine-tuned models.", + "operationId": "Files_Upload", + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "formData", + "name": "purpose", + "description": "The intended purpose of the uploaded documents. Use \"fine-tune\" for fine-tuning. This allows us to validate the format of the uploaded file.", + "required": true, + "type": "string", + "enum": [ + "fine-tune", + "fine-tune-results" + ], + "x-ms-enum": { + "name": "Purpose", + "modelAsString": true, + "values": [ + { + "value": "fine-tune", + "description": "This file contains training data for a fine tune job." + }, + { + "value": "fine-tune-results", + "description": "This file contains the results of a fine tune job." + } + ] + } + }, + { + "in": "formData", + "name": "file", + "description": "Gets or sets the file to upload into Azure OpenAI.", + "required": true, + "type": "file" + } + ], + "responses": { + "201": { + "description": "The file has been successfully created.", + "schema": { + "$ref": "#/definitions/File" + }, + "headers": { + "Location": { + "description": "The location of the newly created item.", + "type": "string", + "format": "url" + } + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Upload a file.": { + "$ref": "./examples/upload_file.json" + } + } + } + }, + "/files/{file-id}": { + "get": { + "tags": [ + "Files:" + ], + "summary": "Gets details for a single file specified by the given file-id including status, size, purpose, etc.", + "operationId": "Files_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "file-id", + "description": "The identifier of the file.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/File" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting a file.": { + "$ref": "./examples/get_file.json" + } + } + }, + "delete": { + "tags": [ + "Files:" + ], + "summary": "Deletes the file with the given file-id.\r\nDeletion is also allowed if a file was used, e.g., as training file in a fine-tune job.", + "operationId": "Files_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "file-id", + "description": "The identifier of the file.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "204": { + "description": "The file was successfully deleted." + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deleting a file.": { + "$ref": "./examples/delete_file.json" + } + } + } + }, + "/files/{file-id}/content": { + "get": { + "tags": [ + "Files:" + ], + "summary": "Gets the content of the file specified by the given file-id.\r\nFiles can be user uploaded content or generated by the service like result metrics of a fine-tune job.", + "operationId": "Files_GetContent", + "produces": [ + "application/octet-stream", + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "file-id", + "description": "The identifier of the file.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting the file content.": { + "$ref": "./examples/get_file_content.json" + } + } + } + }, + "/files/import": { + "post": { + "tags": [ + "Files:" + ], + "summary": "Creates a new file entity by importing data from a provided url. Uploaded files can, for example, be used for training or evaluating fine-tuned models.", + "operationId": "Files_Import", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "body", + "name": "fileImport", + "description": "The definition of the file to create including its purpose, the file name and the url of the file location.", + "required": true, + "schema": { + "$ref": "#/definitions/FileImport" + } + } + ], + "responses": { + "201": { + "description": "The file has been successfully created.", + "schema": { + "$ref": "#/definitions/File" + }, + "headers": { + "Location": { + "description": "The location of the newly created item.", + "type": "string", + "format": "url" + } + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Importing a file with a blob url as source.": { + "$ref": "./examples/import_file.json" + } + } + } + }, + "/fine-tunes": { + "get": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Gets a list of all fine-tune jobs owned by the Azure OpenAI resource.\r\nThe details that are returned for each fine-tune job contain besides its identifier\r\nthe base model, training and validation files, hyper parameters, time stamps, status and events.\r\nEvents are created when the job status changes, e.g. running or complete, and when results are uploaded.", + "operationId": "FineTunes_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/FineTuneList" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting all fine tune jobs owned by this account.": { + "$ref": "./examples/get_finetunes.json" + } + } + }, + "post": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Creates a job that fine-tunes a specified model from a given training file.\r\nResponse includes details of the enqueued job including job status and hyper parameters.\r\nThe name of the fine-tuned model is added to the response once complete.", + "operationId": "FineTunes_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "body", + "name": "fineTune", + "description": "The specification of the fine-tuned model to create.\r\nRequired parameters are the base model and the training file to use.\r\nOptionally a validation file can be specified to compute validation metrics during training.\r\nHyper parameters will be set to default values or can by optionally specified.\r\nThese include batch size, learning rate multiplier, number of epochs and others.", + "required": true, + "schema": { + "$ref": "#/definitions/FineTuneCreation" + } + } + ], + "responses": { + "201": { + "description": "The fine tune has been successfully created.", + "schema": { + "$ref": "#/definitions/FineTune" + }, + "headers": { + "Location": { + "description": "The location of the newly created item.", + "type": "string", + "format": "url" + } + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creating a fine tune job.": { + "$ref": "./examples/post_finetune.json" + }, + "Creating a fine tune job for classification.": { + "$ref": "./examples/post_classification_finetune.json" + } + } + } + }, + "/fine-tunes/{fine-tune-id}": { + "get": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Gets details for a single fine-tune job specified by the given fine-tune-id.\r\nThe details contain the base model, training and validation files, hyper parameters, time stamps, status and events.\r\nEvents are created when the job status changes, e.g. running or complete, and when results are uploaded.", + "operationId": "FineTunes_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "fine-tune-id", + "description": "The identifier of the fine-tune job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/FineTune" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting a fine tune job.": { + "$ref": "./examples/get_finetune.json" + } + } + }, + "delete": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Deletes the fine-tune job specified by the given fine-tune-id.", + "operationId": "FineTunes_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "fine-tune-id", + "description": "The identifier of the fine-tune job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "204": { + "description": "The fine tune was successfully deleted." + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deleting a fine tune job.": { + "$ref": "./examples/delete_finetune.json" + } + } + } + }, + "/fine-tunes/{fine-tune-id}/events": { + "get": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Gets the events for the fine-tune job specified by the given fine-tune-id.\r\nEvents are created when the job status changes, e.g. running or complete, and when results are uploaded.", + "operationId": "FineTunes_GetEvents", + "produces": [ + "application/json", + "text/event-stream" + ], + "parameters": [ + { + "in": "path", + "name": "fine-tune-id", + "description": "The identifier of the fine-tune job.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "stream", + "description": "A flag indicating whether to stream events for the fine-tune job. If set to true,\r\n events will be sent as data-only server-sent events as they become available. The stream will terminate with\r\n a data: [DONE] message when the job is finished (succeeded, cancelled, or failed).\r\n If set to false, only events generated so far will be returned..", + "type": "boolean" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/EventList" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting events of a fine tune job.": { + "$ref": "./examples/get_finetune_events.json" + } + } + } + }, + "/fine-tunes/{fine-tune-id}/cancel": { + "post": { + "tags": [ + "Fine-tunes:" + ], + "summary": "Cancels the processing of the fine-tune job specified by the given fine-tune-id.", + "operationId": "FineTunes_Cancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "fine-tune-id", + "description": "The identifier of the fine-tune job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "The fine tune has been successfully canceled", + "schema": { + "$ref": "#/definitions/FineTune" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Canceling a fine tune job.": { + "$ref": "./examples/cancel_finetune.json" + } + } + } + }, + "/images/generations:submit": { + "post": { + "summary": "Generates a batch of images from a text caption", + "operationId": "Images_Generate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "header", + "name": "Operation-Id", + "description": "ID of the status monitor for the operation. If the Operation-Id header matches an existing operation and the request is not identical to the prior request, it will fail with a 400 Bad Request.", + "type": "string", + "format": "uuid" + }, + { + "in": "body", + "name": "body", + "description": "The specification of the images that should be generated.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateImagesCreation" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "operation-location": { + "type": "string", + "format": "url", + "description": "URL to poll for the operation result." + }, + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + }, + "schema": { + "$ref": "#/definitions/GenerateImagesResponse" + } + }, + "default": { + "description": "An error occurred.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "The error code indicating what went wrong." + }, + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + }, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creating an image generation operation.": { + "$ref": "./examples/post_images_generate.json" + } + } + } + }, + "/models": { + "get": { + "tags": [ + "Models:" + ], + "summary": "Gets a list of all models that are accessible by the Azure OpenAI resource.\r\nThese include base models as well as all successfully completed fine-tuned models owned by the Azure OpenAI resource.", + "operationId": "Models_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ModelList" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting all models owned by account.": { + "$ref": "./examples/get_models.json" + } + } + } + }, + "/models/{model-id}": { + "get": { + "tags": [ + "Models:" + ], + "summary": "Gets details for the model specified by the given modelId.", + "operationId": "Models_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "model-id", + "description": "The identifier of the model.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionQueryParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Model" + } + }, + "default": { + "description": "An error occurred.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting a base model.": { + "$ref": "./examples/get_model_base.json" + }, + "Getting a fine-tuned model.": { + "$ref": "./examples/get_model_finetune.json" + } + } + } + }, + "/operations/images/{operation-id}": { + "get": { + "summary": "Returns the status of the images operation", + "operationId": "OperationsImages_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "path", + "name": "operation-id", + "required": true, + "type": "string", + "format": "uuid", + "description": "The id of the operation" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "retry-after": { + "type": "integer", + "format": "int32", + "description": "Indicates the number of seconds that the client should wait before executing another GET request if the operation did not terminate yet." + }, + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + }, + "schema": { + "$ref": "#/definitions/OperationResponse" + } + }, + "default": { + "description": "An error occurred.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "The error code indicating what went wrong." + }, + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + }, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Getting the result of a specific operation.": { + "$ref": "./examples/get_images_operation.json" + } + } + }, + "delete": { + "summary": "Deletes an operation (if in terminal state) and all generated and user provided images associated with the operation.", + "operationId": "OperationsImages_Delete", + "parameters": [ + { + "$ref": "#/parameters/apiVersionQueryParameter" + }, + { + "in": "path", + "name": "operation-id", + "required": true, + "type": "string", + "format": "uuid", + "description": "The id of the operation" + } + ], + "responses": { + "204": { + "description": "NoContent", + "headers": { + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + } + }, + "default": { + "description": "An error occurred.", + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "The error code indicating what went wrong." + }, + "x-ms-request-id": { + "type": "string", + "format": "uuid", + "description": "Service generated correlation id identifying the request, in the form of a GUID." + } + }, + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deleting a specific operation.": { + "$ref": "./examples/delete_images_operation.json" + } + } + } + } + }, + "definitions": { + "Capabilities": { + "title": "Capabilities", + "description": "The capabilities of a base or fine tune model.", + "required": [ + "chat_completion", + "completion", + "embeddings", + "fine_tune", + "inference" + ], + "type": "object", + "properties": { + "fine_tune": { + "description": "A value indicating whether a model can be used for fine tuning.", + "type": "boolean" + }, + "inference": { + "description": "A value indicating whether a model can be deployed.", + "type": "boolean" + }, + "completion": { + "description": "A value indicating whether a model supports completion.", + "type": "boolean" + }, + "chat_completion": { + "description": "A value indicating whether a model supports chat completion.", + "type": "boolean" + }, + "embeddings": { + "description": "A value indicating whether a model supports embeddings.", + "type": "boolean" + } + } + }, + "Deprecation": { + "title": "Deprecation", + "description": "Defines the dates of deprecation for the different use cases of a model.\r\nUsually base models support 1 year of fine tuning after creation. Inference is typically supported 2 years after creation of base or\r\nfine tuned models. The exact dates are specified in the properties.", + "required": [ + "inference" + ], + "type": "object", + "properties": { + "fine_tune": { + "format": "unixtime", + "description": "The end date of fine tune support of this model. Will be `null` for fine tune models.", + "type": "integer" + }, + "inference": { + "format": "unixtime", + "description": "The end date of inference support of this model.", + "type": "integer" + } + } + }, + "Error": { + "title": "Error", + "description": "Error content as defined in the Microsoft REST guidelines\r\n(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).", + "required": [ + "code", + "message" + ], + "readOnly": true, + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/ErrorCode" + }, + "message": { + "description": "The message of this error.", + "minLength": 1, + "type": "string" + }, + "target": { + "description": "The location where the error happened if available.", + "type": "string" + }, + "details": { + "description": "The error details if available.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "ErrorCode": { + "title": "ErrorCode", + "description": "Error codes as defined in the Microsoft REST guidelines\r\n(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).", + "enum": [ + "conflict", + "invalidPayload", + "forbidden", + "notFound", + "unexpectedEntityState", + "itemDoesAlreadyExist", + "serviceUnavailable", + "internalFailure", + "quotaExceeded", + "jsonlValidationFailed", + "fileImportFailed", + "tooManyRequests", + "unauthorized", + "contentFilter" + ], + "type": "string", + "x-ms-enum": { + "name": "ErrorCode", + "modelAsString": true, + "values": [ + { + "value": "conflict", + "description": "The requested operation conflicts with the current resource state." + }, + { + "value": "invalidPayload", + "description": "The request data is invalid for this operation." + }, + { + "value": "forbidden", + "description": "The operation is forbidden for the current user/api key." + }, + { + "value": "notFound", + "description": "The resource is not found." + }, + { + "value": "unexpectedEntityState", + "description": "The operation cannot be executed in the current resource's state." + }, + { + "value": "itemDoesAlreadyExist", + "description": "The item does already exist." + }, + { + "value": "serviceUnavailable", + "description": "The service is currently not available." + }, + { + "value": "internalFailure", + "description": "Internal error. Please retry." + }, + { + "value": "quotaExceeded", + "description": "Quota exceeded." + }, + { + "value": "jsonlValidationFailed", + "description": "Validation of jsonl data failed." + }, + { + "value": "fileImportFailed", + "description": "Import of file failed." + }, + { + "value": "tooManyRequests", + "description": "Too many requests. Please retry later." + }, + { + "value": "unauthorized", + "description": "The current user/api key is not authorized for the operation." + }, + { + "value": "contentFilter", + "description": "Image generation failed as a result of our safety system." + } + ] + } + }, + "ErrorResponse": { + "title": "ErrorResponse", + "description": "Error response as defined in the Microsoft REST guidelines\r\n(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).", + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "Event": { + "title": "Event", + "required": [ + "created_at", + "level", + "message" + ], + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "created_at": { + "format": "unixtime", + "description": "A timestamp when this event was created (in unix epochs).", + "type": "integer" + }, + "level": { + "$ref": "#/definitions/LogLevel" + }, + "message": { + "description": "The message describing the event. This can be a change of state, e.g., enqueued, started, failed or completed, or other events like uploaded results.", + "minLength": 1, + "type": "string" + } + } + }, + "EventList": { + "title": "EventList", + "description": "Represents a list of events.", + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "data": { + "description": "The list of items.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + } + } + }, + "File": { + "title": "File", + "description": "A file is a document usable for training and validation. It can also be a service generated document with result details.", + "required": [ + "filename", + "purpose" + ], + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "status": { + "$ref": "#/definitions/State" + }, + "created_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was created (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "updated_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was modified last (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "id": { + "description": "The identity of this item.", + "type": "string", + "readOnly": true + }, + "bytes": { + "format": "int64", + "description": "The size of this file when available (can be null). File sizes larger than 2^53-1 are not supported to ensure compatibility\r\nwith JavaScript integers.", + "type": "integer", + "readOnly": true + }, + "purpose": { + "$ref": "#/definitions/Purpose" + }, + "filename": { + "description": "The name of the file.", + "minLength": 1, + "type": "string" + }, + "statistics": { + "$ref": "#/definitions/FileStatistics" + }, + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "FileImport": { + "title": "FileImport", + "description": "Defines a document to import from an external content url to be usable with Azure OpenAI.", + "required": [ + "content_url", + "filename", + "purpose" + ], + "type": "object", + "properties": { + "purpose": { + "$ref": "#/definitions/Purpose" + }, + "filename": { + "description": "The name of the [JSON Lines](https://jsonlines.readthedocs.io/en/latest/) file to be uploaded.\r\nIf the `purpose` is set to \"fine-tune\", each line is a JSON record with \"prompt\" and \"completion\" fields representing your training examples.", + "minLength": 1, + "type": "string" + }, + "content_url": { + "format": "url", + "description": "The url to download the document from (can be SAS url of a blob or any other external url accessible with a GET request).", + "type": "string" + } + } + }, + "FileList": { + "title": "FileList", + "description": "Represents a list of files.", + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "data": { + "description": "The list of items.", + "type": "array", + "items": { + "$ref": "#/definitions/File" + } + } + } + }, + "FileStatistics": { + "title": "FileStatistics", + "description": "A file is a document usable for training and validation. It can also be a service generated document with result details.", + "type": "object", + "properties": { + "tokens": { + "format": "int32", + "description": "The number of tokens used in prompts and completions for files of kind \"fine-tune\" once validation of file content is complete.", + "type": "integer" + }, + "examples": { + "format": "int32", + "description": "The number of contained training examples in files of kind \"fine-tune\" once validation of file content is complete.", + "type": "integer" + } + } + }, + "FineTune": { + "title": "FineTune", + "description": "Fine tuning is a job to tailor a model to specific training data.", + "required": [ + "model", + "training_files" + ], + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "status": { + "$ref": "#/definitions/State" + }, + "created_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was created (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "updated_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was modified last (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "id": { + "description": "The identity of this item.", + "type": "string", + "readOnly": true + }, + "model": { + "description": "The identifier (model-id) of the base model used for the fine-tune.", + "minLength": 1, + "type": "string" + }, + "fine_tuned_model": { + "description": "The identifier (model-id) of the resulting fine tuned model. This property is only populated for successfully completed fine-tune runs.\r\nUse this identifier to create a deployment for inferencing.", + "type": "string" + }, + "training_files": { + "description": "The file identities (file-id) that are used for training the fine tuned model.", + "type": "array", + "items": { + "$ref": "#/definitions/File" + } + }, + "validation_files": { + "description": "The file identities (file-id) that are used to evaluate the fine tuned model during training.", + "type": "array", + "items": { + "$ref": "#/definitions/File" + } + }, + "result_files": { + "description": "The result file identities (file-id) containing training and evaluation metrics in csv format.\r\nThe file is only available for successfully completed fine-tune runs.", + "type": "array", + "items": { + "$ref": "#/definitions/File" + } + }, + "events": { + "description": "The events that show the progress of the fine-tune run including queued, running and completed.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "organisation_id": { + "description": "The organisation id of this fine tune job. Unused on Azure OpenAI; compatibility for OpenAI only.", + "type": "string" + }, + "user_id": { + "description": "The user id of this fine tune job. Unused on Azure OpenAI; compatibility for OpenAI only.", + "type": "string" + }, + "hyperparams": { + "$ref": "#/definitions/HyperParameters" + }, + "suffix": { + "description": "The suffix used to identify the fine-tuned model.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "FineTuneCreation": { + "title": "FineTuneCreation", + "description": "Defines the values of a fine tune job.", + "required": [ + "model", + "training_file" + ], + "type": "object", + "properties": { + "model": { + "description": "The identifier (model-id) of the base model used for this fine-tune.", + "minLength": 1, + "type": "string" + }, + "training_file": { + "description": "The file identity (file-id) that is used for training this fine tuned model.", + "minLength": 1, + "type": "string" + }, + "validation_file": { + "description": "The file identity (file-id) that is used to evaluate the fine tuned model during training.", + "type": "string" + }, + "suffix": { + "description": "The suffix used to identify the fine-tuned model. The suffix can contain up to 40 characters (a-z, A-Z, 0-9,- and _) that will be added to your fine-tuned model name.", + "type": "string" + }, + "n_epochs": { + "format": "int32", + "description": "The number of epochs to train the model for. An epoch refers to one full cycle through the training dataset.", + "type": "integer" + }, + "batch_size": { + "format": "int32", + "description": "The batch size to use for training. The batch size is the number of training examples used to train a single forward and backward pass.\r\nIn general, we've found that larger batch sizes tend to work better for larger datasets.\r\nThe default value as well as the maximum value for this property are specific to a base model.", + "type": "integer" + }, + "learning_rate_multiplier": { + "format": "double", + "description": "The learning rate multiplier to use for training. The fine-tuning learning rate is the original learning rate used for pre-training multiplied by this value.\r\nLarger learning rates tend to perform better with larger batch sizes.\r\nWe recommend experimenting with values in the range 0.02 to 0.2 to see what produces the best results.", + "type": "number" + }, + "prompt_loss_weight": { + "format": "double", + "description": "The weight to use for loss on the prompt tokens. This controls how much the model tries to learn to generate the prompt\r\n(as compared to the completion which always has a weight of 1.0), and can add a stabilizing effect to training when completions are short.\r\nIf prompts are extremely long (relative to completions), it may make sense to reduce this weight so as to avoid over-prioritizing learning the prompt.", + "type": "number" + }, + "compute_classification_metrics": { + "description": "A value indicating whether to compute classification metrics.\r\nIf set, we calculate classification-specific metrics such as accuracy and F-1 score using the validation set at the end of every epoch.\r\nThese metrics can be viewed in the results file. In order to compute classification metrics, you must provide a validation_file.Additionally,\r\nyou must specify classification_n_classes for multiclass classification or classification_positive_class for binary classification.", + "type": "boolean" + }, + "classification_n_classes": { + "format": "int32", + "description": "The number of classes in a classification task.\r\nThis parameter is required for multiclass classification.", + "type": "integer" + }, + "classification_positive_class": { + "description": "The positive class in binary classification.\r\nThis parameter is needed to generate precision, recall, and F1 metrics when doing binary classification.", + "type": "string" + }, + "classification_betas": { + "description": "The classification beta values. If this is provided, we calculate F-beta scores at the specified beta values.\r\nThe F-beta score is a generalization of F-1 score. This is only used for binary classification.\r\nWith a beta of 1 (i.e.the F-1 score), precision and recall are given the same weight.\r\nA larger beta score puts more weight on recall and less on precision. A smaller beta score puts more weight on precision and less on recall.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + } + }, + "FineTuneList": { + "title": "FineTuneList", + "description": "Represents a list of fine tunes.", + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "data": { + "description": "The list of items.", + "type": "array", + "items": { + "$ref": "#/definitions/FineTune" + } + } + } + }, + "GenerateImagesCreation": { + "title": "GenerateImagesCreation", + "description": "Defines the request to create an operation to generate images.", + "type": "object", + "properties": { + "prompt": { + "description": "A text description of the desired image(s).", + "type": "string", + "minLength": 1 + }, + "n": { + "description": "The number of images to generate.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "size": { + "$ref": "#/definitions/Size" + }, + "user": { + "description": "A unique identifier representing your end-user, which can help to monitor and detect abuse.", + "type": "string" + } + }, + "required": [ + "prompt" + ] + }, + "GenerateImagesResponse": { + "title": "GenerateImagesResponse", + "description": "Defines response after creating an operation to generate images. It contains the status and the id of the operation.", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/State" + }, + "id": { + "type": "string", + "format": "uuid", + "description": " The Id of the asynchronous operation that can be used to query its status later." + } + }, + "required": [ + "id", + "status" + ] + }, + "HyperParameters": { + "title": "HyperParameters", + "description": "The hyper parameter settings used in a fine tune job.", + "type": "object", + "properties": { + "batch_size": { + "format": "int32", + "description": "The batch size to use for training. The batch size is the number of training examples used to train a single forward and backward pass.\r\nIn general, we've found that larger batch sizes tend to work better for larger datasets.\r\nThe default value as well as the maximum value for this property are specific to a base model.", + "type": "integer" + }, + "learning_rate_multiplier": { + "format": "double", + "description": "The learning rate multiplier to use for training. The fine-tuning learning rate is the original learning rate used for pre-training multiplied by this value.\r\nLarger learning rates tend to perform better with larger batch sizes.\r\nWe recommend experimenting with values in the range 0.02 to 0.2 to see what produces the best results.", + "type": "number" + }, + "n_epochs": { + "format": "int32", + "description": "The number of epochs to train the model for. An epoch refers to one full cycle through the training dataset.", + "type": "integer" + }, + "prompt_loss_weight": { + "format": "double", + "description": "The weight to use for loss on the prompt tokens. This controls how much the model tries to learn to generate the prompt\r\n(as compared to the completion which always has a weight of 1.0), and can add a stabilizing effect to training when completions are short.\r\nIf prompts are extremely long (relative to completions), it may make sense to reduce this weight so as to avoid over-prioritizing learning the prompt.", + "type": "number" + }, + "compute_classification_metrics": { + "description": "A value indicating whether to compute classification metrics.\r\nIf set, we calculate classification-specific metrics such as accuracy and F-1 score using the validation set at the end of every epoch.\r\nThese metrics can be viewed in the results file. In order to compute classification metrics, you must provide a validation_file.Additionally,\r\nyou must specify classification_n_classes for multiclass classification or classification_positive_class for binary classification.", + "type": "boolean" + }, + "classification_n_classes": { + "format": "int32", + "description": "The number of classes in a classification task.\r\nThis parameter is required for multiclass classification.", + "type": "integer" + }, + "classification_positive_class": { + "description": "The positive class in binary classification.\r\nThis parameter is needed to generate precision, recall, and F1 metrics when doing binary classification.", + "type": "string" + }, + "classification_betas": { + "description": "The classification beta values. If this is provided, we calculate F-beta scores at the specified beta values.\r\nThe F-beta score is a generalization of F-1 score. This is only used for binary classification.\r\nWith a beta of 1 (i.e.the F-1 score), precision and recall are given the same weight.\r\nA larger beta score puts more weight on recall and less on precision. A smaller beta score puts more weight on precision and less on recall.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + } + }, + "ImageResult": { + "title": "ImageResult", + "type": "object", + "description": "The image url if successful, and an error otherwise.", + "properties": { + "url": { + "type": "string", + "format": "url", + "description": "The URL that provides temporary access to download the generated image." + }, + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "ImageResults": { + "title": "ImageResults", + "description": "The result data of the operation, if successful", + "type": "array", + "items": { + "$ref": "#/definitions/ImageResult" + } + }, + "InnerError": { + "title": "InnerError", + "description": "Inner error as defined in the Microsoft REST guidelines\r\n(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).", + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/InnerErrorCode" + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerErrorCode": { + "title": "InnerErrorCode", + "description": "Inner error codes as defined in the Microsoft REST guidelines\r\n(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).", + "enum": [ + "invalidPayload" + ], + "type": "string", + "x-ms-enum": { + "name": "InnerErrorCode", + "modelAsString": true, + "values": [ + { + "value": "invalidPayload", + "description": "The request data is invalid for this operation." + } + ] + } + }, + "LifeCycleStatus": { + "title": "LifeCycleStatus", + "description": "The life cycle status of a model.\r\nNote: A model can be promoted from \"preview\" to \"generally-available\", but never from \"generally-available\" to \"preview\".", + "enum": [ + "preview", + "generally-available" + ], + "type": "string", + "x-ms-enum": { + "name": "LifeCycleStatus", + "modelAsString": true, + "values": [ + { + "value": "preview", + "description": "Model is in preview and covered by the service preview terms." + }, + { + "value": "generally-available", + "description": "Model is generally available." + } + ] + } + }, + "LogLevel": { + "title": "LogLevel", + "description": "The verbosity level of an event.", + "enum": [ + "info", + "warning", + "error" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": true, + "values": [ + { + "value": "info", + "description": "This event is for information only." + }, + { + "value": "warning", + "description": "This event represents a mitigated issue." + }, + { + "value": "error", + "description": "This message represents a non recoverable issue." + } + ] + } + }, + "Model": { + "title": "Model", + "description": "A model is either a base model or the result of a successful fine tune job.", + "required": [ + "capabilities", + "deprecation", + "lifecycle_status" + ], + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "status": { + "$ref": "#/definitions/State" + }, + "created_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was created (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "updated_at": { + "format": "unixtime", + "description": "A timestamp when this job or item was modified last (in unix epochs).", + "type": "integer", + "readOnly": true + }, + "id": { + "description": "The identity of this item.", + "type": "string", + "readOnly": true + }, + "model": { + "description": "The base model identity (model-id) if this is a fine tune model; otherwise `null`.", + "type": "string" + }, + "fine_tune": { + "description": "The fine tune job identity (fine-tune-id) if this is a fine tune model; otherwise `null`.", + "type": "string" + }, + "capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "lifecycle_status": { + "$ref": "#/definitions/LifeCycleStatus" + }, + "deprecation": { + "$ref": "#/definitions/Deprecation" + } + } + }, + "ModelList": { + "title": "ModelList", + "description": "Represents a list of models.", + "type": "object", + "properties": { + "object": { + "$ref": "#/definitions/TypeDiscriminator" + }, + "data": { + "description": "The list of items.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + } + } + }, + "OperationResponse": { + "title": "OperationResponse", + "description": "The operation response containing the id and the status of the operation. If successful, it contains data with the generated images and an error otherwise.", + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "The ID of the operation.", + "type": "string" + }, + "created": { + "format": "unixtime", + "description": "A timestamp when this job or item was created (in unix epochs).", + "type": "integer" + }, + "expires": { + "format": "unixtime", + "description": "A timestamp when this operation and its associated images expire and will be deleted (in unix epochs).", + "type": "integer" + }, + "result": { + "type": "object", + "description": "The result of the operation if the operation succeeded.", + "properties": { + "created": { + "format": "unixtime", + "description": "A timestamp when this job or item was created (in unix epochs).", + "type": "integer" + }, + "data": { + "$ref": "#/definitions/ImageResults" + } + }, + "required": [ + "created", + "data" + ] + }, + "status": { + "$ref": "#/definitions/State" + }, + "error": { + "$ref": "#/definitions/Error" + } + }, + "required": [ + "id", + "status", + "created" + ] + }, + "Purpose": { + "title": "Purpose", + "description": "The intended purpose of the uploaded documents. Use \"fine-tune\" for fine-tuning. This allows us to validate the format of the uploaded file.", + "enum": [ + "fine-tune", + "fine-tune-results" + ], + "type": "string", + "x-ms-enum": { + "name": "Purpose", + "modelAsString": true, + "values": [ + { + "value": "fine-tune", + "description": "This file contains training data for a fine tune job." + }, + { + "value": "fine-tune-results", + "description": "This file contains the results of a fine tune job." + } + ] + } + }, + "Size": { + "title": "Size", + "description": "The desired size of the generated images. Must be one of 256x256, 512x512, or 1024x1024.", + "enum": [ + "256x256", + "512x512", + "1024x1024" + ], + "type": "string", + "default": "1024x1024", + "x-ms-enum": { + "name": "Size", + "modelAsString": true, + "values": [ + { + "value": "256x256", + "description": "The desired size of the generated image is 256x256 pixels.", + "name": "Size256x256" + }, + { + "value": "512x512", + "description": "The desired size of the generated image is 512x512 pixels.", + "name": "Size512x512" + }, + { + "value": "1024x1024", + "description": "The desired size of the generated image is 1024x1024 pixels.", + "name": "Size1024x1024" + } + ] + } + }, + "State": { + "title": "State", + "description": "The state of a job or item.", + "enum": [ + "notRunning", + "running", + "succeeded", + "canceled", + "failed", + "deleted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "value": "notRunning", + "description": "The operation was created and is queued to be processed in the future." + }, + { + "value": "running", + "description": "The operation has started to be processed." + }, + { + "value": "succeeded", + "description": "The operation has successfully be processed and is ready for consumption." + }, + { + "value": "canceled", + "description": "The operation has been canceled and is incomplete." + }, + { + "value": "failed", + "description": "The operation has completed processing with a failure and cannot be further consumed." + }, + { + "value": "deleted", + "description": "The entity has been deleted but may still be referenced by other entities predating the deletion." + } + ] + } + }, + "TypeDiscriminator": { + "title": "TypeDiscriminator", + "description": "Defines the type of an object.", + "enum": [ + "list", + "fine-tune", + "file", + "fine-tune-event", + "model" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TypeDiscriminator", + "modelAsString": true, + "values": [ + { + "value": "list", + "description": "This object represents a list of other objects." + }, + { + "value": "fine-tune", + "description": "This object represents a fine tune job." + }, + { + "value": "file", + "description": "This object represents a file." + }, + { + "value": "fine-tune-event", + "description": "This object represents an event of a fine tune job." + }, + { + "value": "model", + "description": "This object represents a model (can be a base models or fine tune job result)." + }, + { + "value": "deployment", + "description": "This object represents a deployment." + } + ] + } + } + }, + "parameters": { + "endpoint": { + "in": "path", + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://aoairesource.openai.azure.com. Replace \"aoairesource\" with your Azure OpenAI account name).", + "required": true, + "type": "string", + "format": "url", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "apiVersionQueryParameter": { + "in": "query", + "name": "api-version", + "description": "The requested API version.", + "required": true, + "type": "string", + "x-ms-client-default": "2023-07-01-preview", + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "api-key": { + "type": "apiKey", + "name": "api-key", + "in": "header", + "description": "Provide your Cognitive Services Azure OpenAI account key here." + } + }, + "security": [ + { + "api-key": [] + } + ], + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/openai", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/cancel_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/cancel_finetune.json new file mode 100644 index 000000000000..fb3f774a0293 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/cancel_finetune.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fine-tune-id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "hyperparams": { + "batch_size": 32, + "learning_rate_multiplier": 1, + "n_epochs": 2, + "prompt_loss_weight": 0.1 + }, + "model": "curie", + "training_files": [ + { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "events": [ + { + "created_at": 1646126127, + "level": "info", + "message": "Job enqueued. Waiting for jobs ahead to complete.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126169, + "level": "info", + "message": "Job started.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126192, + "level": "info", + "message": "Job canceled.", + "object": "fine-tune-event" + } + ], + "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "canceled", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "fine-tune" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_file.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_file.json new file mode 100644 index 000000000000..80286eb43aa0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_file.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "file-id": "file-181a1cbdcdcf4677ada87f63a0928099" + }, + "responses": { + "204": { + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_finetune.json new file mode 100644 index 000000000000..bade00fe5eb2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_finetune.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fine-tune-id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "responses": { + "204": { + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_images_operation.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_images_operation.json new file mode 100644 index 000000000000..e2119415542b --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/delete_images_operation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "Api-Key": "{api key}", + "api-version": "2023-07-01-preview", + "operation-id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa" + }, + "responses": { + "204": { + "headers": { + "x-ms-request-id": "29fd3fe5-ab2f-44e0-aefa-0dfe9bd1c03f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file.json new file mode 100644 index 000000000000..a19ef46a70f5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "file-id": "file-181a1cbdcdcf4677ada87f63a0928099" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file_content.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file_content.json new file mode 100644 index 000000000000..b10842bbe05c --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_file_content.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "file-id": "file-181a1cbdcdcf4677ada87f63a0928099" + }, + "responses": { + "200": { + "headers": {}, + "body": "raw file content" + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_files.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_files.json new file mode 100644 index 000000000000..fa45146763ff --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_files.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "data": [ + { + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + }, + { + "bytes": 32423, + "purpose": "fine-tune-results", + "filename": "results.csv", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "object": "list" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune.json new file mode 100644 index 000000000000..b9aa3af4a448 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fine-tune-id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "hyperparams": { + "batch_size": 32, + "learning_rate_multiplier": 1, + "n_epochs": 2, + "prompt_loss_weight": 0.1 + }, + "model": "curie", + "fine_tuned_model": "curie.ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "training_files": [ + { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "result_files": [ + { + "bytes": 32423, + "purpose": "fine-tune-results", + "filename": "results.csv", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "events": [ + { + "created_at": 1646126127, + "level": "info", + "message": "Job enqueued. Waiting for jobs ahead to complete.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126169, + "level": "info", + "message": "Job started.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126192, + "level": "info", + "message": "Job succeeded.", + "object": "fine-tune-event" + } + ], + "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "fine-tune" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune_events.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune_events.json new file mode 100644 index 000000000000..c0bc35068e5f --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetune_events.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fine-tune-id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "data": [ + { + "created_at": 1646126127, + "level": "info", + "message": "Job enqueued. Waiting for jobs ahead to complete.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126169, + "level": "info", + "message": "Job started.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126192, + "level": "info", + "message": "Job succeeded.", + "object": "fine-tune-event" + } + ], + "object": "list" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetunes.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetunes.json new file mode 100644 index 000000000000..bf9d40f73234 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_finetunes.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "data": [ + { + "hyperparams": { + "batch_size": 32, + "learning_rate_multiplier": 1, + "n_epochs": 2, + "prompt_loss_weight": 0.1 + }, + "model": "curie", + "fine_tuned_model": "curie.ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "training_files": [ + { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "result_files": [ + { + "bytes": 32423, + "purpose": "fine-tune-results", + "filename": "results.csv", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "events": [ + { + "created_at": 1646126127, + "level": "info", + "message": "Job enqueued. Waiting for jobs ahead to complete.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126169, + "level": "info", + "message": "Job started.", + "object": "fine-tune-event" + }, + { + "created_at": 1646126192, + "level": "info", + "message": "Job succeeded.", + "object": "fine-tune-event" + } + ], + "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "fine-tune" + } + ], + "object": "list" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_images_operation.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_images_operation.json new file mode 100644 index 000000000000..b0dfdc4dbcfc --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_images_operation.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "Api-Key": "{api key}", + "api-version": "2023-07-01-preview", + "operation-id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "29fd3fe5-ab2f-44e0-aefa-0dfe9bd1c03f" + }, + "body": { + "created": 1679320850, + "result": { + "created": 1679320850, + "data": [ + { + "url": "https://aoairesource.blob.core.windows.net/private/images?SAS-token" + } + ] + }, + "expires": 1679407255, + "id": "41dc2981-bf72-492a-b4fe-7eed680a1681", + "status": "succeeded" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_base.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_base.json new file mode 100644 index 000000000000..f74017fc5f98 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_base.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "model-id": "curie" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "capabilities": { + "fine_tune": true, + "inference": true, + "completion": true, + "chat_completion": false, + "embeddings": false + }, + "lifecycle_status": "generally-available", + "deprecation": { + "fine_tune": 1677662127, + "inference": 1709284527 + }, + "id": "curie", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "model" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_finetune.json new file mode 100644 index 000000000000..86f87bf96793 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_model_finetune.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "model-id": "curie.ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "model": "curie", + "fine_tune": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "capabilities": { + "fine_tune": false, + "inference": true, + "completion": true, + "chat_completion": false, + "embeddings": false + }, + "lifecycle_status": "generally-available", + "deprecation": { + "inference": 1709284527 + }, + "id": "curie.ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "model" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_models.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_models.json new file mode 100644 index 000000000000..47e6dd499133 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/get_models.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "data": [ + { + "capabilities": { + "fine_tune": true, + "inference": true, + "completion": true, + "chat_completion": false, + "embeddings": false + }, + "lifecycle_status": "generally-available", + "deprecation": { + "fine_tune": 1677662127, + "inference": 1709284527 + }, + "id": "curie", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "model" + }, + { + "model": "curie", + "fine_tune": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "capabilities": { + "fine_tune": false, + "inference": true, + "completion": true, + "chat_completion": false, + "embeddings": false + }, + "lifecycle_status": "generally-available", + "deprecation": { + "inference": 1709284527 + }, + "id": "curie.ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "model" + } + ], + "object": "list" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/import_file.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/import_file.json new file mode 100644 index 000000000000..1eae74ec023a --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/import_file.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fileImport": { + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "content_url": "https://www.contoso.com/trainingdata/puppy.jsonl" + }, + "content-Type": "application/json" + }, + "responses": { + "201": { + "headers": { + "location": "https://aoairesource.openai.azure.com/openai/files/file-181a1cbdcdcf4677ada87f63a0928099" + }, + "body": { + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "notRunning", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_classification_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_classification_finetune.json new file mode 100644 index 000000000000..76dbeefeb29d --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_classification_finetune.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fineTune": { + "compute_classification_metrics": true, + "classification_n_classes": 4, + "model": "curie", + "training_file": "file-181a1cbdcdcf4677ada87f63a0928099" + }, + "content-Type": "application/json" + }, + "responses": { + "201": { + "headers": { + "location": "https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "body": { + "hyperparams": { + "compute_classification_metrics": true, + "classification_n_classes": 4, + "batch_size": 32, + "learning_rate_multiplier": 1, + "n_epochs": 2, + "prompt_loss_weight": 0.1 + }, + "model": "curie", + "training_files": [ + { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "notRunning", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "fine-tune" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_finetune.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_finetune.json new file mode 100644 index 000000000000..348aa9f851a0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_finetune.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "fineTune": { + "model": "curie", + "training_file": "file-181a1cbdcdcf4677ada87f63a0928099" + }, + "content-Type": "application/json" + }, + "responses": { + "201": { + "headers": { + "location": "https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f" + }, + "body": { + "hyperparams": { + "batch_size": 32, + "learning_rate_multiplier": 1, + "n_epochs": 2, + "prompt_loss_weight": 0.1 + }, + "model": "curie", + "training_files": [ + { + "statistics": { + "tokens": 42, + "examples": 23 + }, + "bytes": 140, + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "succeeded", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + ], + "id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f", + "status": "notRunning", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "fine-tune" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_images_generate.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_images_generate.json new file mode 100644 index 000000000000..2b13d73db1a9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/post_images_generate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "Api-Key": "{api key}", + "api-version": "2023-07-01-preview", + "body": { + "prompt": "An avocado chair", + "size": "512x512", + "n": 3 + }, + "content-Type": "application/json" + }, + "responses": { + "202": { + "headers": { + "operation-location": "https://aoairesource.openai.azure.com/openai/dalle/operations/images/f508bcf2-e651-4b4b-85a7-58ad77981ffa?api-version=2023-07-01-preview", + "x-ms-request-id": "29fd3fe5-ab2f-44e0-aefa-0dfe9bd1c03f" + }, + "body": { + "id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa", + "status": "notRunning" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/upload_file.json b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/upload_file.json new file mode 100644 index 000000000000..78c5fd5d85f1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/preview/2023-07-01-preview/examples/upload_file.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "https://aoairesource.openai.azure.com", + "api-key": "{api key}", + "api-version": "2023-07-01-preview", + "purpose": "fine-tune", + "content-Type": "multipart/form-data", + "file": "raw file content" + }, + "responses": { + "201": { + "headers": { + "location": "https://aoairesource.openai.azure.com/openai/files/file-181a1cbdcdcf4677ada87f63a0928099" + }, + "body": { + "purpose": "fine-tune", + "filename": "puppy.jsonl", + "id": "file-181a1cbdcdcf4677ada87f63a0928099", + "status": "notRunning", + "created_at": 1646126127, + "updated_at": 1646127311, + "object": "file" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/readme.md b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/readme.md index d1a9d0ede120..02ae8bf1af5e 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/readme.md +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/authoring/readme.md @@ -125,3 +125,23 @@ directive: - suppress: IntegerTypeMustHaveFormat reason: API stewardship board recommend to use format "unixtime" which is not supported by linter at the moment. ``` + +## AzureOpenAI 2023-07-01-preview +These settings apply only when `--tag=release_2023_07_01_preview` is specified on the command line. + +``` yaml $(tag) == 'release_2023_07_01_preview' +input-file: preview/2023-07-01-preview/azureopenai.json +``` + +AutoRest-Linter Suppressions + +``` yaml +# Ignore autorest-linter issues that cannot be resolved without breaking compatibility to existing openai api +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: Existing external API uses property names like n_epochs, created_at, not following naming/casing guidelines from azure. + - suppress: ValidFormats + reason: API stewardship board recommend to use format "unixtime" which is not supported by linter at the moment. + - suppress: IntegerTypeMustHaveFormat + reason: API stewardship board recommend to use format "unixtime" which is not supported by linter at the moment. +``` diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json index 2f4e00b9c8bd..cc8535b5e200 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-06-01-preview/generated.json @@ -45,8 +45,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "api-key" + "name": "api-key", + "in": "header" }, "OAuth2Auth": { "type": "oauth2", @@ -70,17 +70,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/ChatCompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -92,14 +92,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -121,17 +121,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -143,14 +143,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -172,17 +172,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" - }, - "required": true + } } ], "responses": { @@ -194,14 +194,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -223,36 +223,36 @@ { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" - }, - "required": true + } } ], "responses": { "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/BatchImageGenerationOperationResponse" + }, "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." } - }, - "schema": { - "$ref": "#/definitions/BatchImageGenerationOperationResponse" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -274,8 +274,8 @@ { "name": "operationId", "in": "path", - "required": true, "description": ".", + "required": true, "type": "string" } ], @@ -288,14 +288,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -310,6 +310,7 @@ "definitions": { "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -325,19 +326,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -345,19 +344,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -367,8 +367,7 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "AzureOpenAIOperationState": { "type": "string", @@ -414,6 +413,7 @@ }, "BatchImageGenerationOperationResponse": { "type": "object", + "description": "A polling status update or final response payload for an image operation.", "properties": { "id": { "type": "string", @@ -421,7 +421,7 @@ }, "created": { "type": "integer", - "format": "int64", + "format": "unixtime", "description": "A timestamp when this job or item was created (in unix epochs)." }, "expires": { @@ -442,7 +442,6 @@ "description": "The error if the operation failed." } }, - "description": "A polling status update or final response payload for an image operation.", "required": [ "id", "created", @@ -451,6 +450,7 @@ }, "ChatChoice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "message": { "$ref": "#/definitions/ChatMessage", @@ -462,16 +462,21 @@ "description": "The ordered index associated with this chat completions choice." }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "The reason that this chat completions choice completed its generated.", + "x-nullable": true, "x-ms-client-name": "finishReason" }, "delta": { "$ref": "#/definitions/ChatMessage", "description": "The delta message content for a streaming response." + }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it \nhas been detected, as well as the severity level (very_low, low, medium, high-scale that \ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.", + "x-ms-client-name": "contentFilterResults" } }, - "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "index", "finish_reason" @@ -479,6 +484,7 @@ }, "ChatCompletions": { "type": "object", + "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -486,24 +492,31 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/ChatChoice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "ChatChoice[]" + "x-ms-identifiers": [] + }, + "prompt_annotations": { + "type": "array", + "description": "Content filtering results for zero or more prompts in the request. In a streaming request, \nresults for different prompts may arrive at different times or in different orders.", + "items": { + "$ref": "#/definitions/PromptFilterResult" + }, + "x-ms-client-name": "promptFilterResults", + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -513,15 +526,15 @@ }, "ChatCompletionsOptions": { "type": "object", + "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "messages": { "type": "array", + "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", "items": { "$ref": "#/definitions/ChatMessage" }, - "x-ms-identifiers": [], - "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", - "x-typespec-name": "ChatMessage[]" + "x-ms-identifiers": [] }, "max_tokens": { "type": "integer", @@ -542,12 +555,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -561,11 +573,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -588,13 +599,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "messages" ] }, "ChatMessage": { "type": "object", + "description": "A single, role-attributed message within a chat completion interaction.", "properties": { "role": { "$ref": "#/definitions/ChatRole", @@ -602,12 +613,13 @@ }, "content": { "type": "string", - "description": "The text associated with this message payload." + "description": "The text associated with this message payload.", + "x-nullable": true } }, - "description": "A single, role-attributed message within a chat completion interaction.", "required": [ - "role" + "role", + "content" ] }, "ChatRole": { @@ -642,6 +654,7 @@ }, "Choice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "text": { "type": "string", @@ -652,24 +665,28 @@ "format": "int32", "description": "The ordered index associated with this completions choice." }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it \nhas been detected, as well as the severity level (very_low, low, medium, high-scale that \ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.", + "x-ms-client-name": "contentFilterResults" + }, "logprobs": { "type": "object", + "description": "The log probabilities model for tokens associated with this completions choice.", + "x-nullable": true, "allOf": [ { "$ref": "#/definitions/CompletionsLogProbabilityModel" } - ], - "x-nullable": true, - "x-typespec-name": "CompletionsLogProbabilityModel | null", - "description": "The log probabilities model for tokens associated with this completions choice." + ] }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "Reason for finishing", + "x-nullable": true, "x-ms-client-name": "finishReason" } }, - "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "text", "index", @@ -679,6 +696,7 @@ }, "Completions": { "type": "object", + "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -686,24 +704,31 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, + "prompt_annotations": { + "type": "array", + "description": "Content filtering results for zero or more prompts in the request. In a streaming request, \nresults for different prompts may arrive at different times or in different orders.", + "items": { + "$ref": "#/definitions/PromptFilterResult" + }, + "x-ms-client-name": "promptFilterResults", + "x-ms-identifiers": [] + }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/Choice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "Choice[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -711,52 +736,76 @@ "usage" ] }, + "CompletionsFinishReason": { + "type": "string", + "description": "Representation of the manner in which a completions response concluded.", + "enum": [ + "stop", + "length", + "content_filter" + ], + "x-ms-enum": { + "name": "CompletionsFinishReason", + "modelAsString": true, + "values": [ + { + "name": "stopped", + "value": "stop", + "description": "Completions ended normally and reached its end of token generation." + }, + { + "name": "tokenLimitReached", + "value": "length", + "description": "Completions exhausted available token limits before generation could complete." + }, + { + "name": "contentFiltered", + "value": "content_filter", + "description": "Completions generated a response that was identified as potentially sensitive per content\nmoderation policies." + } + ] + } + }, "CompletionsLogProbabilityModel": { "type": "object", + "description": "Representation of a log probabilities model for a completions generation.", "properties": { "tokens": { "type": "array", + "description": "The textual forms of tokens evaluated in this probability model.", "items": { "type": "string" - }, - "description": "The textual forms of tokens evaluated in this probability model.", - "x-typespec-name": "string[]" + } }, "token_logprobs": { "type": "array", + "description": "A collection of log probability values for the tokens in this completions data.", "items": { "type": "number", "format": "float", - "x-nullable": true, - "x-typespec-name": "float32 | null" + "x-nullable": true }, - "description": "A collection of log probability values for the tokens in this completions data.", - "x-typespec-name": "float32 | null[]", "x-ms-client-name": "tokenLogprobs" }, "top_logprobs": { "type": "array", + "description": "A mapping of tokens to maximum log probability values in this completions data.", "items": { - "type": "object", - "x-typespec-name": "Record" + "type": "object" }, - "x-ms-identifiers": [], - "description": "A mapping of tokens to maximum log probability values in this completions data.", - "x-typespec-name": "Record[]", - "x-ms-client-name": "topLogprobs" + "x-ms-client-name": "topLogprobs", + "x-ms-identifiers": [] }, "text_offset": { "type": "array", + "description": "The text offsets associated with tokens in this completions data.", "items": { "type": "integer", "format": "int32" }, - "description": "The text offsets associated with tokens in this completions data.", - "x-typespec-name": "int32[]", "x-ms-client-name": "textOffset" } }, - "description": "Representation of a log probabilities model for a completions generation.", "required": [ "tokens", "token_logprobs", @@ -766,14 +815,14 @@ }, "CompletionsOptions": { "type": "object", + "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "prompt": { "type": "array", + "description": "The prompts to generate completions from.", "items": { "type": "string" - }, - "description": "The prompts to generate completions from.", - "x-typespec-name": "string[]" + } }, "max_tokens": { "type": "integer", @@ -794,12 +843,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -822,11 +870,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -855,13 +902,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "prompt" ] }, "CompletionsUsage": { "type": "object", + "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "properties": { "completion_tokens": { "type": "integer", @@ -882,24 +929,100 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "required": [ "completion_tokens", "prompt_tokens", "total_tokens" ] }, + "ContentFilterResult": { + "type": "object", + "description": "Information about filtered content severity level and if it has been filtered or not.", + "properties": { + "severity": { + "$ref": "#/definitions/ContentFilterSeverity", + "description": "Ratings for the intensity and risk level of filtered content." + }, + "filtered": { + "type": "boolean", + "description": "A value indicating whether or not the content has been filtered." + } + }, + "required": [ + "severity", + "filtered" + ] + }, + "ContentFilterResults": { + "type": "object", + "description": "Information about the content filtering category, if it has been detected.", + "properties": { + "sexual": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse." + }, + "violence": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc." + }, + "hate": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size." + }, + "self_harm": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.", + "x-ms-client-name": "selfHarm" + } + } + }, + "ContentFilterSeverity": { + "type": "string", + "description": "Ratings for the intensity and risk level of harmful content.", + "enum": [ + "safe", + "low", + "medium", + "high" + ], + "x-ms-enum": { + "name": "ContentFilterSeverity", + "modelAsString": true, + "values": [ + { + "name": "safe", + "value": "safe", + "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms \nare used in general, journalistic, scientific, medical, and similar professional contexts, \nwhich are appropriate for most audiences." + }, + { + "name": "low", + "value": "low", + "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive \nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity." + }, + { + "name": "medium", + "value": "medium", + "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language \ntowards specific identity groups, includes depictions of seeking and executing harmful \ninstructions, fantasies, glorification, promotion of harm at medium intensity." + }, + { + "name": "high", + "value": "high", + "description": "Content that displays explicit and severe harmful instructions, actions, \ndamage, or abuse; includes endorsement, glorification, or promotion of severe \nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual \npower exchange or abuse." + } + ] + } + }, "EmbeddingItem": { "type": "object", + "description": "Representation of a single embeddings relatedness comparison.", "properties": { "embedding": { "type": "array", + "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", "items": { "type": "number", "format": "float" - }, - "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", - "x-typespec-name": "float32[]" + } }, "index": { "type": "integer", @@ -907,7 +1030,6 @@ "description": "Index of the prompt to which the EmbeddingItem corresponds." } }, - "description": "Representation of a single embeddings relatedness comparison.", "required": [ "embedding", "index" @@ -915,22 +1037,21 @@ }, "Embeddings": { "type": "object", + "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "data": { "type": "array", + "description": "Embedding values for the prompts submitted in the request.", "items": { "$ref": "#/definitions/EmbeddingItem" }, - "x-ms-identifiers": [], - "description": "Embedding values for the prompts submitted in the request.", - "x-typespec-name": "EmbeddingItem[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/EmbeddingsUsage", "description": "Usage counts for tokens input using the embeddings API." } }, - "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "data", "usage" @@ -938,6 +1059,7 @@ }, "EmbeddingsOptions": { "type": "object", + "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "user": { "type": "string", @@ -949,20 +1071,19 @@ }, "input": { "type": "array", + "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", "items": { "type": "string" - }, - "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", - "x-typespec-name": "string[]" + } } }, - "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "input" ] }, "EmbeddingsUsage": { "type": "object", + "description": "Measurement of the amount of tokens used in this request and response.", "properties": { "prompt_tokens": { "type": "integer", @@ -977,7 +1098,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Measurement of the amount of tokens used in this request and response.", "required": [ "prompt_tokens", "total_tokens" @@ -985,6 +1105,7 @@ }, "ImageGenerationOptions": { "type": "object", + "description": "Represents the request data used to generate images.", "properties": { "prompt": { "type": "string", @@ -1011,7 +1132,6 @@ "description": "A unique identifier representing your end-user, which can help to monitor and detect abuse." } }, - "description": "Represents the request data used to generate images.", "required": [ "prompt" ] @@ -1042,18 +1162,17 @@ }, "ImageGenerations": { "type": "object", + "description": "The result of the operation if the operation succeeded.", "properties": { "created": { "type": "integer", - "format": "int64", + "format": "unixtime", "description": "A timestamp when this job or item was created (in unix epochs)." }, "data": { - "x-typespec-name": "ImageLocation[] | ImagePayload[]", "description": "The images generated by the operator." } }, - "description": "The result of the operation if the operation succeeded.", "required": [ "created", "data" @@ -1088,18 +1207,38 @@ } ] } + }, + "PromptFilterResult": { + "type": "object", + "description": "Content filtering results for a single prompt in the request.", + "properties": { + "prompt_index": { + "type": "integer", + "format": "int32", + "description": "The index of this prompt in the set of prompt results", + "x-ms-client-name": "promptIndex" + }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Content filtering results for this prompt", + "x-ms-client-name": "contentFilterResults" + } + }, + "required": [ + "prompt_index" + ] } }, "parameters": { "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json index 14d29e509a8c..2ddf16cdaf9b 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/generated.json @@ -45,8 +45,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "api-key" + "name": "api-key", + "in": "header" }, "OAuth2Auth": { "type": "oauth2", @@ -70,17 +70,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/ChatCompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -92,14 +92,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -121,17 +121,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -143,14 +143,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -172,17 +172,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" - }, - "required": true + } } ], "responses": { @@ -194,14 +194,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -223,36 +223,36 @@ { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" - }, - "required": true + } } ], "responses": { "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/BatchImageGenerationOperationResponse" + }, "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." } - }, - "schema": { - "$ref": "#/definitions/BatchImageGenerationOperationResponse" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -274,8 +274,8 @@ { "name": "operationId", "in": "path", - "required": true, "description": ".", + "required": true, "type": "string" } ], @@ -288,14 +288,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -310,6 +310,7 @@ "definitions": { "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -325,19 +326,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -345,19 +344,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -367,8 +367,7 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "AzureOpenAIOperationState": { "type": "string", @@ -414,6 +413,7 @@ }, "BatchImageGenerationOperationResponse": { "type": "object", + "description": "A polling status update or final response payload for an image operation.", "properties": { "id": { "type": "string", @@ -421,7 +421,7 @@ }, "created": { "type": "integer", - "format": "int64", + "format": "unixtime", "description": "A timestamp when this job or item was created (in unix epochs)." }, "expires": { @@ -442,7 +442,6 @@ "description": "The error if the operation failed." } }, - "description": "A polling status update or final response payload for an image operation.", "required": [ "id", "created", @@ -451,6 +450,7 @@ }, "ChatChoice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "message": { "$ref": "#/definitions/ChatMessage", @@ -462,16 +462,21 @@ "description": "The ordered index associated with this chat completions choice." }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "The reason that this chat completions choice completed its generated.", + "x-nullable": true, "x-ms-client-name": "finishReason" }, "delta": { "$ref": "#/definitions/ChatMessage", "description": "The delta message content for a streaming response." + }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it \nhas been detected, as well as the severity level (very_low, low, medium, high-scale that \ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.", + "x-ms-client-name": "contentFilterResults" } }, - "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "index", "finish_reason" @@ -479,6 +484,7 @@ }, "ChatCompletions": { "type": "object", + "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -486,24 +492,31 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/ChatChoice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "ChatChoice[]" + "x-ms-identifiers": [] + }, + "prompt_annotations": { + "type": "array", + "description": "Content filtering results for zero or more prompts in the request. In a streaming request, \nresults for different prompts may arrive at different times or in different orders.", + "items": { + "$ref": "#/definitions/PromptFilterResult" + }, + "x-ms-client-name": "promptFilterResults", + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -513,27 +526,25 @@ }, "ChatCompletionsOptions": { "type": "object", + "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "messages": { "type": "array", + "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", "items": { "$ref": "#/definitions/ChatMessage" }, - "x-ms-identifiers": [], - "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", - "x-typespec-name": "ChatMessage[]" + "x-ms-identifiers": [] }, "functions": { "type": "array", + "description": "A list of functions the model may generate JSON inputs for.", "items": { "$ref": "#/definitions/FunctionDefinition" }, - "x-ms-identifiers": [], - "description": "A list of functions the model may generate JSON inputs for.", - "x-typespec-name": "FunctionDefinition[]" + "x-ms-identifiers": [] }, "function_call": { - "x-typespec-name": "FunctionCallPreset | FunctionName", "description": "Controls how the model responds to function calls. \"none\" means the model does not call a function,\nand responds to the end-user. \"auto\" means the model can pick between an end-user or calling a function.\n Specifying a particular function via `{\"name\": \"my_function\"}` forces the model to call that function.\n \"none\" is the default when no functions are present. \"auto\" is the default if functions are present.", "x-ms-client-name": "functionCall" }, @@ -556,12 +567,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -575,11 +585,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -602,13 +611,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "messages" ] }, "ChatMessage": { "type": "object", + "description": "A single, role-attributed message within a chat completion interaction.", "properties": { "role": { "$ref": "#/definitions/ChatRole", @@ -616,7 +625,8 @@ }, "content": { "type": "string", - "description": "The text associated with this message payload." + "description": "The text associated with this message payload.", + "x-nullable": true }, "name": { "type": "string", @@ -628,9 +638,9 @@ "x-ms-client-name": "functionCall" } }, - "description": "A single, role-attributed message within a chat completion interaction.", "required": [ - "role" + "role", + "content" ] }, "ChatRole": { @@ -671,6 +681,7 @@ }, "Choice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "text": { "type": "string", @@ -681,24 +692,28 @@ "format": "int32", "description": "The ordered index associated with this completions choice." }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it \nhas been detected, as well as the severity level (very_low, low, medium, high-scale that \ndetermines the intensity and risk level of harmful content) and if it has been filtered or not.", + "x-ms-client-name": "contentFilterResults" + }, "logprobs": { "type": "object", + "description": "The log probabilities model for tokens associated with this completions choice.", + "x-nullable": true, "allOf": [ { "$ref": "#/definitions/CompletionsLogProbabilityModel" } - ], - "x-nullable": true, - "x-typespec-name": "CompletionsLogProbabilityModel | null", - "description": "The log probabilities model for tokens associated with this completions choice." + ] }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "Reason for finishing", + "x-nullable": true, "x-ms-client-name": "finishReason" } }, - "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "text", "index", @@ -708,6 +723,7 @@ }, "Completions": { "type": "object", + "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -715,24 +731,31 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, + "prompt_annotations": { + "type": "array", + "description": "Content filtering results for zero or more prompts in the request. In a streaming request, \nresults for different prompts may arrive at different times or in different orders.", + "items": { + "$ref": "#/definitions/PromptFilterResult" + }, + "x-ms-client-name": "promptFilterResults", + "x-ms-identifiers": [] + }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/Choice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "Choice[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -740,52 +763,82 @@ "usage" ] }, + "CompletionsFinishReason": { + "type": "string", + "description": "Representation of the manner in which a completions response concluded.", + "enum": [ + "stop", + "length", + "content_filter", + "function_call" + ], + "x-ms-enum": { + "name": "CompletionsFinishReason", + "modelAsString": true, + "values": [ + { + "name": "stopped", + "value": "stop", + "description": "Completions ended normally and reached its end of token generation." + }, + { + "name": "tokenLimitReached", + "value": "length", + "description": "Completions exhausted available token limits before generation could complete." + }, + { + "name": "contentFiltered", + "value": "content_filter", + "description": "Completions generated a response that was identified as potentially sensitive per content\nmoderation policies." + }, + { + "name": "functionCall", + "value": "function_call", + "description": "Completion ended normally, with the model requesting a function to be called." + } + ] + } + }, "CompletionsLogProbabilityModel": { "type": "object", + "description": "Representation of a log probabilities model for a completions generation.", "properties": { "tokens": { "type": "array", + "description": "The textual forms of tokens evaluated in this probability model.", "items": { "type": "string" - }, - "description": "The textual forms of tokens evaluated in this probability model.", - "x-typespec-name": "string[]" + } }, "token_logprobs": { "type": "array", + "description": "A collection of log probability values for the tokens in this completions data.", "items": { "type": "number", "format": "float", - "x-nullable": true, - "x-typespec-name": "float32 | null" + "x-nullable": true }, - "description": "A collection of log probability values for the tokens in this completions data.", - "x-typespec-name": "float32 | null[]", "x-ms-client-name": "tokenLogprobs" }, "top_logprobs": { "type": "array", + "description": "A mapping of tokens to maximum log probability values in this completions data.", "items": { - "type": "object", - "x-typespec-name": "Record" + "type": "object" }, - "x-ms-identifiers": [], - "description": "A mapping of tokens to maximum log probability values in this completions data.", - "x-typespec-name": "Record[]", - "x-ms-client-name": "topLogprobs" + "x-ms-client-name": "topLogprobs", + "x-ms-identifiers": [] }, "text_offset": { "type": "array", + "description": "The text offsets associated with tokens in this completions data.", "items": { "type": "integer", "format": "int32" }, - "description": "The text offsets associated with tokens in this completions data.", - "x-typespec-name": "int32[]", "x-ms-client-name": "textOffset" } }, - "description": "Representation of a log probabilities model for a completions generation.", "required": [ "tokens", "token_logprobs", @@ -795,14 +848,14 @@ }, "CompletionsOptions": { "type": "object", + "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "prompt": { "type": "array", + "description": "The prompts to generate completions from.", "items": { "type": "string" - }, - "description": "The prompts to generate completions from.", - "x-typespec-name": "string[]" + } }, "max_tokens": { "type": "integer", @@ -823,12 +876,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -851,11 +903,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -884,13 +935,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "prompt" ] }, "CompletionsUsage": { "type": "object", + "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "properties": { "completion_tokens": { "type": "integer", @@ -911,24 +962,100 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "required": [ "completion_tokens", "prompt_tokens", "total_tokens" ] }, + "ContentFilterResult": { + "type": "object", + "description": "Information about filtered content severity level and if it has been filtered or not.", + "properties": { + "severity": { + "$ref": "#/definitions/ContentFilterSeverity", + "description": "Ratings for the intensity and risk level of filtered content." + }, + "filtered": { + "type": "boolean", + "description": "A value indicating whether or not the content has been filtered." + } + }, + "required": [ + "severity", + "filtered" + ] + }, + "ContentFilterResults": { + "type": "object", + "description": "Information about the content filtering category, if it has been detected.", + "properties": { + "sexual": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to anatomical organs and genitals, romantic relationships,\n acts portrayed in erotic or affectionate terms, physical sexual acts, including \n those portrayed as an assault or a forced sexual violent act against one’s will, \n prostitution, pornography, and abuse." + }, + "violence": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to physical actions intended to hurt, injure, damage, or \nkill someone or something; describes weapons, etc." + }, + "hate": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language attacks or uses that include pejorative or discriminatory language \nwith reference to a person or identity group on the basis of certain differentiating \nattributes of these groups including but not limited to race, ethnicity, nationality,\ngender identity and expression, sexual orientation, religion, immigration status, ability\nstatus, personal appearance, and body size." + }, + "self_harm": { + "$ref": "#/definitions/ContentFilterResult", + "description": "Describes language related to physical actions intended to purposely hurt, injure,\nor damage one’s body, or kill oneself.", + "x-ms-client-name": "selfHarm" + } + } + }, + "ContentFilterSeverity": { + "type": "string", + "description": "Ratings for the intensity and risk level of harmful content.", + "enum": [ + "safe", + "low", + "medium", + "high" + ], + "x-ms-enum": { + "name": "ContentFilterSeverity", + "modelAsString": true, + "values": [ + { + "name": "safe", + "value": "safe", + "description": "Content may be related to violence, self-harm, sexual, or hate categories but the terms \nare used in general, journalistic, scientific, medical, and similar professional contexts, \nwhich are appropriate for most audiences." + }, + { + "name": "low", + "value": "low", + "description": "Content that expresses prejudiced, judgmental, or opinionated views, includes offensive \nuse of language, stereotyping, use cases exploring a fictional world (for example, gaming,\nliterature) and depictions at low intensity." + }, + { + "name": "medium", + "value": "medium", + "description": "Content that uses offensive, insulting, mocking, intimidating, or demeaning language \ntowards specific identity groups, includes depictions of seeking and executing harmful \ninstructions, fantasies, glorification, promotion of harm at medium intensity." + }, + { + "name": "high", + "value": "high", + "description": "Content that displays explicit and severe harmful instructions, actions, \ndamage, or abuse; includes endorsement, glorification, or promotion of severe \nharmful acts, extreme or illegal forms of harm, radicalization, or non-consensual \npower exchange or abuse." + } + ] + } + }, "EmbeddingItem": { "type": "object", + "description": "Representation of a single embeddings relatedness comparison.", "properties": { "embedding": { "type": "array", + "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", "items": { "type": "number", "format": "float" - }, - "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", - "x-typespec-name": "float32[]" + } }, "index": { "type": "integer", @@ -936,7 +1063,6 @@ "description": "Index of the prompt to which the EmbeddingItem corresponds." } }, - "description": "Representation of a single embeddings relatedness comparison.", "required": [ "embedding", "index" @@ -944,22 +1070,21 @@ }, "Embeddings": { "type": "object", + "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "data": { "type": "array", + "description": "Embedding values for the prompts submitted in the request.", "items": { "$ref": "#/definitions/EmbeddingItem" }, - "x-ms-identifiers": [], - "description": "Embedding values for the prompts submitted in the request.", - "x-typespec-name": "EmbeddingItem[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/EmbeddingsUsage", "description": "Usage counts for tokens input using the embeddings API." } }, - "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "data", "usage" @@ -967,6 +1092,7 @@ }, "EmbeddingsOptions": { "type": "object", + "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "user": { "type": "string", @@ -978,20 +1104,19 @@ }, "input": { "type": "array", + "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", "items": { "type": "string" - }, - "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", - "x-typespec-name": "string[]" + } } }, - "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "input" ] }, "EmbeddingsUsage": { "type": "object", + "description": "Measurement of the amount of tokens used in this request and response.", "properties": { "prompt_tokens": { "type": "integer", @@ -1006,7 +1131,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Measurement of the amount of tokens used in this request and response.", "required": [ "prompt_tokens", "total_tokens" @@ -1014,6 +1138,7 @@ }, "FunctionCall": { "type": "object", + "description": "The name and arguments of a function that should be called, as generated by the model.", "properties": { "name": { "type": "string", @@ -1024,7 +1149,6 @@ "description": "The arguments to call the function with, as generated by the model in JSON format.\nNote that the model does not always generate valid JSON, and may hallucinate parameters\nnot defined by your function schema. Validate the arguments in your code before calling\nyour function." } }, - "description": "The name and arguments of a function that should be called, as generated by the model.", "required": [ "name", "arguments" @@ -1032,6 +1156,7 @@ }, "FunctionDefinition": { "type": "object", + "description": "The definition of a caller-specified function that chat completions may invoke in response to matching user input.", "properties": { "name": { "type": "string", @@ -1045,13 +1170,13 @@ "description": "The parameters the functions accepts, described as a JSON Schema object." } }, - "description": "The definition of a caller-specified function that chat completions may invoke in response to matching user input.", "required": [ "name" ] }, "ImageGenerationOptions": { "type": "object", + "description": "Represents the request data used to generate images.", "properties": { "prompt": { "type": "string", @@ -1078,7 +1203,6 @@ "description": "A unique identifier representing your end-user, which can help to monitor and detect abuse." } }, - "description": "Represents the request data used to generate images.", "required": [ "prompt" ] @@ -1109,18 +1233,17 @@ }, "ImageGenerations": { "type": "object", + "description": "The result of the operation if the operation succeeded.", "properties": { "created": { "type": "integer", - "format": "int64", + "format": "unixtime", "description": "A timestamp when this job or item was created (in unix epochs)." }, "data": { - "x-typespec-name": "ImageLocation[] | ImagePayload[]", "description": "The images generated by the operator." } }, - "description": "The result of the operation if the operation succeeded.", "required": [ "created", "data" @@ -1155,18 +1278,38 @@ } ] } + }, + "PromptFilterResult": { + "type": "object", + "description": "Content filtering results for a single prompt in the request.", + "properties": { + "prompt_index": { + "type": "integer", + "format": "int32", + "description": "The index of this prompt in the set of prompt results", + "x-ms-client-name": "promptIndex" + }, + "content_filter_results": { + "$ref": "#/definitions/ContentFilterResults", + "description": "Content filtering results for this prompt", + "x-ms-client-name": "contentFilterResults" + } + }, + "required": [ + "prompt_index" + ] } }, "parameters": { "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/inference.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/inference.json new file mode 100644 index 000000000000..6bbbcdedcb24 --- /dev/null +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2023-07-01-preview/inference.json @@ -0,0 +1,1339 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Azure OpenAI Service API", + "description": "Azure OpenAI APIs for completions and search", + "version": "2023-07-01-preview" + }, + "servers": [ + { + "url": "https://{endpoint}/openai", + "variables": { + "endpoint": { + "default": "your-resource-name.openai.azure.com" + } + } + } + ], + "security": [ + { + "bearer": [ + "api.read" + ] + }, + { + "apiKey": [] + } + ], + "paths": { + "/deployments/{deployment-id}/completions": { + "post": { + "summary": "Creates a completion for the provided prompt, parameters and chosen model.", + "operationId": "Completions_Create", + "parameters": [ + { + "in": "path", + "name": "deployment-id", + "required": true, + "schema": { + "type": "string", + "example": "davinci", + "description": "Deployment id of the model which was deployed." + } + }, + { + "in": "query", + "name": "api-version", + "required": true, + "schema": { + "type": "string", + "example": "2023-07-01-preview", + "description": "api version" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "prompt": { + "description": "The prompt(s) to generate completions for, encoded as a string or array of strings.\nNote that <|endoftext|> is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document. Maximum allowed size of string list is 2048.", + "oneOf": [ + { + "type": "string", + "default": "", + "example": "This is a test.", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string", + "default": "", + "example": "This is a test.", + "nullable": false + }, + "description": "Array size minimum of 1 and maximum of 2048" + } + ] + }, + "max_tokens": { + "description": "The token count of your prompt plus max_tokens cannot exceed the model's context length. Most models have a context length of 2048 tokens (except for the newest models, which support 4096). Has minimum of 0.", + "type": "integer", + "default": 16, + "example": 16, + "nullable": true + }, + "temperature": { + "description": "What sampling temperature to use. Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer.\nWe generally recommend altering this or top_p but not both.", + "type": "number", + "default": 1, + "example": 1, + "nullable": true + }, + "top_p": { + "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\nWe generally recommend altering this or temperature but not both.", + "type": "number", + "default": 1, + "example": 1, + "nullable": true + }, + "logit_bias": { + "description": "Defaults to null. Modify the likelihood of specified tokens appearing in the completion. Accepts a json object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this tokenizer tool (which works for both GPT-2 and GPT-3) to convert text to token IDs. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token. As an example, you can pass {\"50256\" : -100} to prevent the <|endoftext|> token from being generated.", + "type": "object", + "nullable": false + }, + "user": { + "description": "A unique identifier representing your end-user, which can help monitoring and detecting abuse", + "type": "string", + "nullable": false + }, + "n": { + "description": "How many completions to generate for each prompt. Minimum of 1 and maximum of 128 allowed.\nNote: Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop.", + "type": "integer", + "default": 1, + "example": 1, + "nullable": true + }, + "stream": { + "description": "Whether to stream back partial progress. If set, tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.", + "type": "boolean", + "nullable": true, + "default": false + }, + "logprobs": { + "description": "Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens. For example, if logprobs is 5, the API will return a list of the 5 most likely tokens. The API will always return the logprob of the sampled token, so there may be up to logprobs+1 elements in the response.\nMinimum of 0 and maximum of 5 allowed.", + "type": "integer", + "default": null, + "nullable": true + }, + "suffix": { + "type": "string", + "nullable": true, + "description": "The suffix that comes after a completion of inserted text." + }, + "echo": { + "description": "Echo back the prompt in addition to the completion", + "type": "boolean", + "default": false, + "nullable": true + }, + "stop": { + "description": "Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.", + "oneOf": [ + { + "type": "string", + "default": "<|endoftext|>", + "example": "\n", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string", + "example": "\n", + "nullable": false + }, + "description": "Array minimum size of 1 and maximum of 4" + } + ] + }, + "completion_config": { + "type": "string", + "nullable": true + }, + "cache_level": { + "description": "can be used to disable any server-side caching, 0=no cache, 1=prompt prefix enabled, 2=full cache", + "type": "integer", + "nullable": true + }, + "presence_penalty": { + "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.", + "type": "number", + "default": 0 + }, + "frequency_penalty": { + "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.", + "type": "number", + "default": 0 + }, + "best_of": { + "description": "Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nWhen used with n, best_of controls the number of candidate completions and n specifies how many to return - best_of must be greater than n.\nNote: Because this parameter generates many completions, it can quickly consume your token quota. Use carefully and ensure that you have reasonable settings for max_tokens and stop. Has maximum value of 128.", + "type": "integer" + } + } + }, + "example": { + "prompt": "Negate the following sentence.The price for bubblegum increased on thursday.\n\n Negated Sentence:", + "max_tokens": 50 + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string" + }, + "created": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "prompt_filter_results": { + "$ref": "#/components/schemas/promptFilterResults" + }, + "choices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "logprobs": { + "type": "object", + "properties": { + "tokens": { + "type": "array", + "items": { + "type": "string" + } + }, + "token_logprobs": { + "type": "array", + "items": { + "type": "number" + } + }, + "top_logprobs": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }, + "text_offset": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "nullable": true + }, + "finish_reason": { + "type": "string" + }, + "content_filter_results": { + "$ref": "#/components/schemas/contentFilterResults" + } + } + } + }, + "usage": { + "type": "object", + "properties": { + "completion_tokens": { + "type": "number", + "format": "int32" + }, + "prompt_tokens": { + "type": "number", + "format": "int32" + }, + "total_tokens": { + "type": "number", + "format": "int32" + } + }, + "required": [ + "prompt_tokens", + "total_tokens", + "completion_tokens" + ] + } + }, + "required": [ + "id", + "object", + "created", + "model", + "choices" + ] + }, + "example": { + "model": "davinci", + "object": "text_completion", + "id": "cmpl-4509KAos68kxOqpE2uYGw81j6m7uo", + "created": 1637097562, + "choices": [ + { + "index": 0, + "text": "The price for bubblegum decreased on thursday.", + "logprobs": null, + "finish_reason": "stop" + } + ] + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + }, + "default": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errorResponse" + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/deployments/{deployment-id}/embeddings": { + "post": { + "summary": "Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.", + "operationId": "embeddings_create", + "parameters": [ + { + "in": "path", + "name": "deployment-id", + "required": true, + "schema": { + "type": "string", + "example": "ada-search-index-v1" + }, + "description": "The deployment id of the model which was deployed." + }, + { + "in": "query", + "name": "api-version", + "required": true, + "schema": { + "type": "string", + "example": "2023-07-01-preview", + "description": "api version" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "properties": { + "input": { + "description": "Input text to get embeddings for, encoded as a string. To get embeddings for multiple inputs in a single request, pass an array of strings. Each input must not exceed 2048 tokens in length.\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space, as we have observed inferior results when newlines are present.", + "oneOf": [ + { + "type": "string", + "default": "", + "example": "This is a test.", + "nullable": true + }, + { + "type": "array", + "minItems": 1, + "maxItems": 2048, + "items": { + "type": "string", + "minLength": 1, + "example": "This is a test.", + "nullable": false + } + } + ] + }, + "user": { + "description": "A unique identifier representing your end-user, which can help monitoring and detecting abuse.", + "type": "string", + "nullable": false + }, + "input_type": { + "description": "input type of embedding search to use", + "type": "string", + "example": "query" + } + }, + "required": [ + "input" + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "object": { + "type": "string" + }, + "model": { + "type": "string" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "index": { + "type": "integer" + }, + "object": { + "type": "string" + }, + "embedding": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "index", + "object", + "embedding" + ] + } + }, + "usage": { + "type": "object", + "properties": { + "prompt_tokens": { + "type": "integer" + }, + "total_tokens": { + "type": "integer" + } + }, + "required": [ + "prompt_tokens", + "total_tokens" + ] + } + }, + "required": [ + "object", + "model", + "data", + "usage" + ] + } + } + } + } + } + } + }, + "/deployments/{deployment-id}/chat/completions": { + "post": { + "summary": "Creates a completion for the chat message", + "operationId": "ChatCompletions_Create", + "parameters": [ + { + "in": "path", + "name": "deployment-id", + "required": true, + "schema": { + "type": "string", + "description": "Deployment id of the model which was deployed." + } + }, + { + "in": "query", + "name": "api-version", + "required": true, + "schema": { + "type": "string", + "example": "2023-07-01-preview", + "description": "api version" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/createChatCompletionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/createChatCompletionResponse" + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + }, + "default": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errorResponse" + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/deployments/{deployment-id}/extensions/chat/completions": { + "post": { + "summary": "Using extensions to creates a completion for the chat messages.", + "operationId": "ExtensionsChatCompletions_Create", + "parameters": [ + { + "in": "path", + "name": "deployment-id", + "required": true, + "schema": { + "type": "string", + "description": "Deployment id of the model which was deployed." + } + }, + { + "in": "query", + "name": "api-version", + "required": true, + "schema": { + "type": "string", + "example": "2023-07-01-preview", + "description": "api version" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/extensionsChatCompletionsRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/extensionsChatCompletionsResponse" + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + }, + "default": { + "description": "Service unavailable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errorResponse" + } + } + }, + "headers": { + "apim-request-id": { + "description": "Request ID for troubleshooting purposes", + "schema": { + "type": "string" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "errorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/components/schemas/error" + } + } + }, + "errorBase": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "error": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/errorBase" + } + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "param": { + "type": "string" + }, + "type": { + "type": "string" + }, + "inner_error": { + "$ref": "#/components/schemas/innerError" + } + } + }, + "innerError": { + "description": "Inner error with additional details.", + "type": "object", + "properties": { + "code": { + "$ref": "#/components/schemas/innerErrorCode" + }, + "content_filter_results": { + "$ref": "#/components/schemas/contentFilterResults" + } + } + }, + "innerErrorCode": { + "description": "Error codes for the inner error object.", + "enum": [ + "ResponsibleAIPolicyViolation" + ], + "type": "string", + "x-ms-enum": { + "name": "InnerErrorCode", + "modelAsString": true, + "values": [ + { + "value": "ResponsibleAIPolicyViolation", + "description": "The prompt violated one of more content filter rules." + } + ] + } + }, + "contentFilterResult": { + "type": "object", + "properties": { + "severity": { + "type": "string", + "enum": [ + "safe", + "low", + "medium", + "high" + ], + "x-ms-enum": { + "name": "ContentFilterSeverity", + "modelAsString": true, + "values": [ + { + "value": "safe", + "description": "General content or related content in generic or non-harmful contexts." + }, + { + "value": "low", + "description": "Harmful content at a low intensity and risk level." + }, + { + "value": "medium", + "description": "Harmful content at a medium intensity and risk level." + }, + { + "value": "high", + "description": "Harmful content at a high intensity and risk level." + } + ] + } + }, + "filtered": { + "type": "boolean" + } + }, + "required": [ + "severity", + "filtered" + ] + }, + "contentFilterResults": { + "type": "object", + "description": "Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not.", + "properties": { + "sexual": { + "$ref": "#/components/schemas/contentFilterResult" + }, + "violence": { + "$ref": "#/components/schemas/contentFilterResult" + }, + "hate": { + "$ref": "#/components/schemas/contentFilterResult" + }, + "self_harm": { + "$ref": "#/components/schemas/contentFilterResult" + }, + "error": { + "$ref": "#/components/schemas/errorBase" + } + } + }, + "promptFilterResult": { + "type": "object", + "description": "Content filtering results for a single prompt in the request.", + "properties": { + "prompt_index": { + "type": "integer" + }, + "content_filter_results": { + "$ref": "#/components/schemas/contentFilterResults" + } + } + }, + "promptFilterResults": { + "type": "array", + "description": "Content filtering results for zero or more prompts in the request. In a streaming request, results for different prompts may arrive at different times or in different orders.", + "items": { + "$ref": "#/components/schemas/promptFilterResult" + } + }, + "chatCompletionsRequestCommon": { + "type": "object", + "properties": { + "temperature": { + "description": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nWe generally recommend altering this or `top_p` but not both.", + "type": "number", + "minimum": 0, + "maximum": 2, + "default": 1, + "example": 1, + "nullable": true + }, + "top_p": { + "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\nWe generally recommend altering this or `temperature` but not both.", + "type": "number", + "minimum": 0, + "maximum": 1, + "default": 1, + "example": 1, + "nullable": true + }, + "stream": { + "description": "If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message.", + "type": "boolean", + "nullable": true, + "default": false + }, + "stop": { + "description": "Up to 4 sequences where the API will stop generating further tokens.", + "oneOf": [ + { + "type": "string", + "nullable": true + }, + { + "type": "array", + "items": { + "type": "string", + "nullable": false + }, + "minItems": 1, + "maxItems": 4, + "description": "Array minimum size of 1 and maximum of 4" + } + ], + "default": null + }, + "max_tokens": { + "description": "The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).", + "type": "integer", + "default": 4096 + }, + "presence_penalty": { + "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.", + "type": "number", + "default": 0, + "minimum": -2, + "maximum": 2 + }, + "frequency_penalty": { + "description": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.", + "type": "number", + "default": 0, + "minimum": -2, + "maximum": 2 + }, + "logit_bias": { + "description": "Modify the likelihood of specified tokens appearing in the completion. Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.", + "type": "object", + "nullable": true + }, + "user": { + "description": "A unique identifier representing your end-user, which can help Azure OpenAI to monitor and detect abuse.", + "type": "string", + "example": "user-1234", + "nullable": false + } + } + }, + "createChatCompletionRequest": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionsRequestCommon" + }, + { + "properties": { + "messages": { + "description": "A list of messages comprising the conversation so far. [Example Python code](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_format_inputs_to_ChatGPT_models.ipynb).", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/components/schemas/chatCompletionRequestMessage" + } + }, + "functions": { + "description": "A list of functions the model may generate JSON inputs for.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/components/schemas/chatCompletionFunctions" + } + }, + "function_call": { + "description": "Controls how the model responds to function calls. \"none\" means the model does not call a function, and responds to the end-user. \"auto\" means the model can pick between an end-user or calling a function. Specifying a particular function via `{\"name\":\\ \"my_function\"}` forces the model to call that function. \"none\" is the default when no functions are present. \"auto\" is the default if functions are present.", + "oneOf": [ + { + "type": "string", + "enum": [ + "none", + "auto" + ] + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the function to call." + } + }, + "required": [ + "name" + ] + } + ] + }, + "n": { + "type": "integer", + "minimum": 1, + "maximum": 128, + "default": 1, + "example": 1, + "nullable": true, + "description": "How many chat completion choices to generate for each input message." + } + } + } + ], + "required": [ + "messages" + ] + }, + "chatCompletionFunctions": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64." + }, + "description": { + "type": "string", + "description": "The description of what the function does." + }, + "parameters": { + "$ref": "#/components/schemas/chatCompletionFunctionParameters" + } + }, + "required": [ + "name" + ] + }, + "chatCompletionFunctionParameters": { + "type": "object", + "description": "The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/gpt/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.", + "additionalProperties": true + }, + "chatCompletionRequestMessage": { + "type": "object", + "properties": { + "role": { + "type": "string", + "enum": [ + "system", + "user", + "assistant", + "function" + ], + "description": "The role of the messages author. One of `system`, `user`, `assistant`, or `function`." + }, + "content": { + "type": "string", + "description": "The contents of the message. `content` is required for all messages except assistant messages with function calls." + }, + "name": { + "type": "string", + "description": "The name of the author of this message. `name` is required if role is `function`, and it should be the name of the function whose response is in the `content`. May contain a-z, A-Z, 0-9, and underscores, with a maximum length of 64 characters." + }, + "function_call": { + "type": "object", + "description": "The name and arguments of a function that should be called, as generated by the model.", + "properties": { + "name": { + "type": "string", + "description": "The name of the function to call." + }, + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function." + } + } + } + }, + "required": [ + "role" + ] + }, + "createChatCompletionResponse": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionsResponseCommon" + }, + { + "properties": { + "prompt_filter_results": { + "$ref": "#/components/schemas/promptFilterResults" + }, + "choices": { + "type": "array", + "items": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionChoiceCommon" + }, + { + "properties": { + "message": { + "$ref": "#/components/schemas/chatCompletionResponseMessage" + }, + "content_filter_results": { + "$ref": "#/components/schemas/contentFilterResults" + } + } + } + ] + } + } + } + } + ], + "required": [ + "id", + "object", + "created", + "model", + "choices" + ] + }, + "chatCompletionResponseMessage": { + "type": "object", + "properties": { + "role": { + "type": "string", + "enum": [ + "system", + "user", + "assistant", + "function" + ], + "description": "The role of the author of this message." + }, + "content": { + "type": "string", + "description": "The contents of the message." + }, + "function_call": { + "type": "object", + "description": "The name and arguments of a function that should be called, as generated by the model.", + "properties": { + "name": { + "type": "string", + "description": "The name of the function to call." + }, + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function." + } + } + } + }, + "required": [ + "role" + ] + }, + "extensionsChatCompletionsRequest": { + "type": "object", + "description": "Request for the chat completions using extensions", + "required": [ + "messages" + ], + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionsRequestCommon" + }, + { + "properties": { + "messages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/message" + } + }, + "dataSources": { + "type": "array", + "description": "The data sources to be used for the Azure OpenAI on your data feature.", + "items": { + "$ref": "#/components/schemas/dataSource" + } + } + } + } + ], + "example": { + "dataSources": [ + { + "type": "AzureCognitiveSearch", + "parameters": { + "endpoint": "https://mysearchexample.search.windows.net", + "key": "***(admin key)", + "indexName": "my-chunk-index", + "fieldsMapping": { + "titleField": "productName", + "urlField": "productUrl", + "filepathField": "productFilePath", + "contentFields": [ + "productDescription" + ], + "contentFieldsSeparator": "\n" + }, + "topNDocuments": 5, + "queryType": "semantic", + "semanticConfiguration": "defaultConfiguration", + "inScope": true, + "roleInformation": "roleInformation" + } + } + ], + "messages": [ + { + "role": "user", + "content": "Where can I find a hiking place in Seattle?" + } + ], + "temperature": 0.9 + } + }, + "dataSource": { + "type": "object", + "description": "The data source to be used for the Azure OpenAI on your data feature.", + "properties": { + "type": { + "type": "string", + "description": "The data source type." + }, + "parameters": { + "type": "object", + "description": "The parameters to be used for the data source in runtime.", + "additionalProperties": true + } + }, + "required": [ + "type" + ] + }, + "message": { + "type": "object", + "description": "A chat message.", + "properties": { + "index": { + "type": "integer", + "description": "The index of the message in the conversation." + }, + "role": { + "type": "string", + "enum": [ + "system", + "user", + "assistant", + "tool" + ], + "description": "The role of the author of this message." + }, + "recipient": { + "type": "string", + "example": "Contoso.productsUsingGET", + "description": "The recipient of the message in the format of .. Present if and only if the recipient is tool." + }, + "content": { + "type": "string", + "description": "The contents of the message" + }, + "end_turn": { + "type": "boolean", + "description": "Whether the message ends the turn." + } + }, + "required": [ + "role", + "content" + ] + }, + "chatCompletionsResponseCommon": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string" + }, + "created": { + "type": "integer", + "format": "unixtime" + }, + "model": { + "type": "string" + }, + "usage": { + "type": "object", + "properties": { + "prompt_tokens": { + "type": "integer" + }, + "completion_tokens": { + "type": "integer" + }, + "total_tokens": { + "type": "integer" + } + }, + "required": [ + "prompt_tokens", + "completion_tokens", + "total_tokens" + ] + } + }, + "required": [ + "id", + "object", + "created", + "model" + ] + }, + "chatCompletionChoiceCommon": { + "type": "object", + "properties": { + "index": { + "type": "integer" + }, + "finish_reason": { + "type": "string" + } + } + }, + "extensionsChatCompletionChoice": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionChoiceCommon" + }, + { + "properties": { + "messages": { + "type": "array", + "description": "The list of messages returned by the service.", + "items": { + "$ref": "#/components/schemas/message" + } + } + } + } + ] + }, + "extensionsChatCompletionsResponse": { + "type": "object", + "description": "The response of the extensions chat completions.", + "allOf": [ + { + "$ref": "#/components/schemas/chatCompletionsResponseCommon" + }, + { + "properties": { + "choices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/extensionsChatCompletionChoice" + } + } + } + } + ], + "example": { + "id": "1", + "object": "extensions.chat.completion", + "created": 1679201802, + "model": "gpt-3.5-turbo-0301", + "choices": [ + { + "index": 0, + "finish_reason": "stop", + "messages": [ + { + "role": "tool", + "content": "{\"citations\":[{\"filepath\":\"ContosoTraveler.pdf\",\"content\":\"This is the content of the citation 1\"},{\"filepath\":\"WestCoastTraveler.html\",\"content\":\"This is the content of the citation 2\"},{\"content\":\"This is the content of the citation 3 without filepath\"}],\"intent\":\"hiking place in seattle\"}", + "end_turn": false + }, + { + "role": "assistant", + "content": "Seattle is a great place for hiking! Here are some of the best hiking places in Seattle according to Contoso Traveler [doc1] and West Coast Traveler, Snow Lake, Mount Si, and Mount Tenerife [doc2]. I hope this helps! Let me know if you need more information.", + "end_turn": true + } + ] + } + ] + } + } + }, + "securitySchemes": { + "bearer": { + "type": "oauth2", + "flows": { + "implicit": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + "scopes": {} + } + }, + "x-tokenInfoFunc": "api.middleware.auth.bearer_auth", + "x-scopeValidateFunc": "api.middleware.auth.validate_scopes" + }, + "apiKey": { + "type": "apiKey", + "name": "api-key", + "in": "header" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json index 5ce1d80666c5..4817ba7a5ee3 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2022-12-01/generated.json @@ -45,8 +45,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "api-key" + "name": "api-key", + "in": "header" }, "OAuth2Auth": { "type": "oauth2", @@ -70,17 +70,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -92,14 +92,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -121,17 +121,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" - }, - "required": true + } } ], "responses": { @@ -143,14 +143,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -165,6 +165,7 @@ "definitions": { "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -180,19 +181,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -200,19 +199,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -222,11 +222,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "Choice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "text": { "type": "string", @@ -239,22 +239,21 @@ }, "logprobs": { "type": "object", + "description": "The log probabilities model for tokens associated with this completions choice.", + "x-nullable": true, "allOf": [ { "$ref": "#/definitions/CompletionsLogProbabilityModel" } - ], - "x-nullable": true, - "x-typespec-name": "CompletionsLogProbabilityModel | null", - "description": "The log probabilities model for tokens associated with this completions choice." + ] }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "Reason for finishing", + "x-nullable": true, "x-ms-client-name": "finishReason" } }, - "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "text", "index", @@ -264,6 +263,7 @@ }, "Completions": { "type": "object", + "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -271,24 +271,22 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/Choice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "Choice[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -296,52 +294,76 @@ "usage" ] }, + "CompletionsFinishReason": { + "type": "string", + "description": "Representation of the manner in which a completions response concluded.", + "enum": [ + "stop", + "length", + "content_filter" + ], + "x-ms-enum": { + "name": "CompletionsFinishReason", + "modelAsString": true, + "values": [ + { + "name": "stopped", + "value": "stop", + "description": "Completions ended normally and reached its end of token generation." + }, + { + "name": "tokenLimitReached", + "value": "length", + "description": "Completions exhausted available token limits before generation could complete." + }, + { + "name": "contentFiltered", + "value": "content_filter", + "description": "Completions generated a response that was identified as potentially sensitive per content\nmoderation policies." + } + ] + } + }, "CompletionsLogProbabilityModel": { "type": "object", + "description": "Representation of a log probabilities model for a completions generation.", "properties": { "tokens": { "type": "array", + "description": "The textual forms of tokens evaluated in this probability model.", "items": { "type": "string" - }, - "description": "The textual forms of tokens evaluated in this probability model.", - "x-typespec-name": "string[]" + } }, "token_logprobs": { "type": "array", + "description": "A collection of log probability values for the tokens in this completions data.", "items": { "type": "number", "format": "float", - "x-nullable": true, - "x-typespec-name": "float32 | null" + "x-nullable": true }, - "description": "A collection of log probability values for the tokens in this completions data.", - "x-typespec-name": "float32 | null[]", "x-ms-client-name": "tokenLogprobs" }, "top_logprobs": { "type": "array", + "description": "A mapping of tokens to maximum log probability values in this completions data.", "items": { - "type": "object", - "x-typespec-name": "Record" + "type": "object" }, - "x-ms-identifiers": [], - "description": "A mapping of tokens to maximum log probability values in this completions data.", - "x-typespec-name": "Record[]", - "x-ms-client-name": "topLogprobs" + "x-ms-client-name": "topLogprobs", + "x-ms-identifiers": [] }, "text_offset": { "type": "array", + "description": "The text offsets associated with tokens in this completions data.", "items": { "type": "integer", "format": "int32" }, - "description": "The text offsets associated with tokens in this completions data.", - "x-typespec-name": "int32[]", "x-ms-client-name": "textOffset" } }, - "description": "Representation of a log probabilities model for a completions generation.", "required": [ "tokens", "token_logprobs", @@ -351,14 +373,14 @@ }, "CompletionsOptions": { "type": "object", + "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "prompt": { "type": "array", + "description": "The prompts to generate completions from.", "items": { "type": "string" - }, - "description": "The prompts to generate completions from.", - "x-typespec-name": "string[]" + } }, "max_tokens": { "type": "integer", @@ -379,12 +401,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -407,11 +428,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -440,13 +460,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "prompt" ] }, "CompletionsUsage": { "type": "object", + "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "properties": { "completion_tokens": { "type": "integer", @@ -467,7 +487,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "required": [ "completion_tokens", "prompt_tokens", @@ -476,15 +495,15 @@ }, "EmbeddingItem": { "type": "object", + "description": "Representation of a single embeddings relatedness comparison.", "properties": { "embedding": { "type": "array", + "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", "items": { "type": "number", "format": "float" - }, - "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", - "x-typespec-name": "float32[]" + } }, "index": { "type": "integer", @@ -492,7 +511,6 @@ "description": "Index of the prompt to which the EmbeddingItem corresponds." } }, - "description": "Representation of a single embeddings relatedness comparison.", "required": [ "embedding", "index" @@ -500,22 +518,21 @@ }, "Embeddings": { "type": "object", + "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "data": { "type": "array", + "description": "Embedding values for the prompts submitted in the request.", "items": { "$ref": "#/definitions/EmbeddingItem" }, - "x-ms-identifiers": [], - "description": "Embedding values for the prompts submitted in the request.", - "x-typespec-name": "EmbeddingItem[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/EmbeddingsUsage", "description": "Usage counts for tokens input using the embeddings API." } }, - "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "data", "usage" @@ -523,6 +540,7 @@ }, "EmbeddingsOptions": { "type": "object", + "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "user": { "type": "string", @@ -534,20 +552,19 @@ }, "input": { "type": "array", + "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", "items": { "type": "string" - }, - "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", - "x-typespec-name": "string[]" + } } }, - "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "input" ] }, "EmbeddingsUsage": { "type": "object", + "description": "Measurement of the amount of tokens used in this request and response.", "properties": { "prompt_tokens": { "type": "integer", @@ -562,7 +579,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Measurement of the amount of tokens used in this request and response.", "required": [ "prompt_tokens", "total_tokens" @@ -573,12 +589,12 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json index 3ab19f89af3d..b7c515db0245 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/stable/2023-05-15/generated.json @@ -45,8 +45,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "api-key" + "name": "api-key", + "in": "header" }, "OAuth2Auth": { "type": "oauth2", @@ -70,17 +70,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/ChatCompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -92,14 +92,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -121,17 +121,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" - }, - "required": true + } } ], "responses": { @@ -143,14 +143,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -172,17 +172,17 @@ { "name": "deploymentId", "in": "path", + "description": "Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.", "required": true, - "description": "deployment id of the deployed model", "type": "string" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" - }, - "required": true + } } ], "responses": { @@ -194,14 +194,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -216,6 +216,7 @@ "definitions": { "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -231,19 +232,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -251,19 +250,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -273,11 +273,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "ChatChoice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "message": { "$ref": "#/definitions/ChatMessage", @@ -289,8 +289,9 @@ "description": "The ordered index associated with this chat completions choice." }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "The reason that this chat completions choice completed its generated.", + "x-nullable": true, "x-ms-client-name": "finishReason" }, "delta": { @@ -298,7 +299,6 @@ "description": "The delta message content for a streaming response." } }, - "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "index", "finish_reason" @@ -306,6 +306,7 @@ }, "ChatCompletions": { "type": "object", + "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -313,24 +314,22 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/ChatChoice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "ChatChoice[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -340,15 +339,15 @@ }, "ChatCompletionsOptions": { "type": "object", + "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "messages": { "type": "array", + "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", "items": { "$ref": "#/definitions/ChatMessage" }, - "x-ms-identifiers": [], - "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.", - "x-typespec-name": "ChatMessage[]" + "x-ms-identifiers": [] }, "max_tokens": { "type": "integer", @@ -369,12 +368,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -388,11 +386,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -415,13 +412,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "messages" ] }, "ChatMessage": { "type": "object", + "description": "A single, role-attributed message within a chat completion interaction.", "properties": { "role": { "$ref": "#/definitions/ChatRole", @@ -429,12 +426,13 @@ }, "content": { "type": "string", - "description": "The text associated with this message payload." + "description": "The text associated with this message payload.", + "x-nullable": true } }, - "description": "A single, role-attributed message within a chat completion interaction.", "required": [ - "role" + "role", + "content" ] }, "ChatRole": { @@ -469,6 +467,7 @@ }, "Choice": { "type": "object", + "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "properties": { "text": { "type": "string", @@ -481,22 +480,21 @@ }, "logprobs": { "type": "object", + "description": "The log probabilities model for tokens associated with this completions choice.", + "x-nullable": true, "allOf": [ { "$ref": "#/definitions/CompletionsLogProbabilityModel" } - ], - "x-nullable": true, - "x-typespec-name": "CompletionsLogProbabilityModel | null", - "description": "The log probabilities model for tokens associated with this completions choice." + ] }, "finish_reason": { - "x-typespec-name": "CompletionsFinishReason | null", + "$ref": "#/definitions/CompletionsFinishReason", "description": "Reason for finishing", + "x-nullable": true, "x-ms-client-name": "finishReason" } }, - "description": "The representation of a single prompt completion as part of an overall completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "required": [ "text", "index", @@ -506,6 +504,7 @@ }, "Completions": { "type": "object", + "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "id": { "type": "string", @@ -513,24 +512,22 @@ }, "created": { "type": "integer", - "format": "int32", + "format": "unixtime", "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970." }, "choices": { "type": "array", + "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", "items": { "$ref": "#/definitions/Choice" }, - "x-ms-identifiers": [], - "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.", - "x-typespec-name": "Choice[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/CompletionsUsage", "description": "Usage information for tokens processed and generated as part of this completions operation." } }, - "description": "Representation of the response data from a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "id", "created", @@ -538,52 +535,76 @@ "usage" ] }, + "CompletionsFinishReason": { + "type": "string", + "description": "Representation of the manner in which a completions response concluded.", + "enum": [ + "stop", + "length", + "content_filter" + ], + "x-ms-enum": { + "name": "CompletionsFinishReason", + "modelAsString": true, + "values": [ + { + "name": "stopped", + "value": "stop", + "description": "Completions ended normally and reached its end of token generation." + }, + { + "name": "tokenLimitReached", + "value": "length", + "description": "Completions exhausted available token limits before generation could complete." + }, + { + "name": "contentFiltered", + "value": "content_filter", + "description": "Completions generated a response that was identified as potentially sensitive per content\nmoderation policies." + } + ] + } + }, "CompletionsLogProbabilityModel": { "type": "object", + "description": "Representation of a log probabilities model for a completions generation.", "properties": { "tokens": { "type": "array", + "description": "The textual forms of tokens evaluated in this probability model.", "items": { "type": "string" - }, - "description": "The textual forms of tokens evaluated in this probability model.", - "x-typespec-name": "string[]" + } }, "token_logprobs": { "type": "array", + "description": "A collection of log probability values for the tokens in this completions data.", "items": { "type": "number", "format": "float", - "x-nullable": true, - "x-typespec-name": "float32 | null" + "x-nullable": true }, - "description": "A collection of log probability values for the tokens in this completions data.", - "x-typespec-name": "float32 | null[]", "x-ms-client-name": "tokenLogprobs" }, "top_logprobs": { "type": "array", + "description": "A mapping of tokens to maximum log probability values in this completions data.", "items": { - "type": "object", - "x-typespec-name": "Record" + "type": "object" }, - "x-ms-identifiers": [], - "description": "A mapping of tokens to maximum log probability values in this completions data.", - "x-typespec-name": "Record[]", - "x-ms-client-name": "topLogprobs" + "x-ms-client-name": "topLogprobs", + "x-ms-identifiers": [] }, "text_offset": { "type": "array", + "description": "The text offsets associated with tokens in this completions data.", "items": { "type": "integer", "format": "int32" }, - "description": "The text offsets associated with tokens in this completions data.", - "x-typespec-name": "int32[]", "x-ms-client-name": "textOffset" } }, - "description": "Representation of a log probabilities model for a completions generation.", "required": [ "tokens", "token_logprobs", @@ -593,14 +614,14 @@ }, "CompletionsOptions": { "type": "object", + "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "properties": { "prompt": { "type": "array", + "description": "The prompts to generate completions from.", "items": { "type": "string" - }, - "description": "The prompts to generate completions from.", - "x-typespec-name": "string[]" + } }, "max_tokens": { "type": "integer", @@ -621,12 +642,11 @@ }, "logit_bias": { "type": "object", + "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", "additionalProperties": { - "type": "integer", - "format": "int32" + "format": "int32", + "type": "integer" }, - "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.", - "x-typespec-name": "Record", "x-ms-client-name": "logitBias" }, "user": { @@ -649,11 +669,10 @@ }, "stop": { "type": "array", + "description": "A collection of textual sequences that will end completions generation.", "items": { "type": "string" - }, - "description": "A collection of textual sequences that will end completions generation.", - "x-typespec-name": "string[]" + } }, "presence_penalty": { "type": "number", @@ -682,13 +701,13 @@ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to." } }, - "description": "The configuration information for a completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.", "required": [ "prompt" ] }, "CompletionsUsage": { "type": "object", + "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "properties": { "completion_tokens": { "type": "integer", @@ -709,7 +728,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.", "required": [ "completion_tokens", "prompt_tokens", @@ -718,15 +736,15 @@ }, "EmbeddingItem": { "type": "object", + "description": "Representation of a single embeddings relatedness comparison.", "properties": { "embedding": { "type": "array", + "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", "items": { "type": "number", "format": "float" - }, - "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.", - "x-typespec-name": "float32[]" + } }, "index": { "type": "integer", @@ -734,7 +752,6 @@ "description": "Index of the prompt to which the EmbeddingItem corresponds." } }, - "description": "Representation of a single embeddings relatedness comparison.", "required": [ "embedding", "index" @@ -742,22 +759,21 @@ }, "Embeddings": { "type": "object", + "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "data": { "type": "array", + "description": "Embedding values for the prompts submitted in the request.", "items": { "$ref": "#/definitions/EmbeddingItem" }, - "x-ms-identifiers": [], - "description": "Embedding values for the prompts submitted in the request.", - "x-typespec-name": "EmbeddingItem[]" + "x-ms-identifiers": [] }, "usage": { "$ref": "#/definitions/EmbeddingsUsage", "description": "Usage counts for tokens input using the embeddings API." } }, - "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "data", "usage" @@ -765,6 +781,7 @@ }, "EmbeddingsOptions": { "type": "object", + "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "properties": { "user": { "type": "string", @@ -776,20 +793,19 @@ }, "input": { "type": "array", + "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", "items": { "type": "string" - }, - "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.", - "x-typespec-name": "string[]" + } } }, - "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.", "required": [ "input" ] }, "EmbeddingsUsage": { "type": "object", + "description": "Measurement of the amount of tokens used in this request and response.", "properties": { "prompt_tokens": { "type": "integer", @@ -804,7 +820,6 @@ "x-ms-client-name": "totalTokens" } }, - "description": "Measurement of the amount of tokens used in this request and response.", "required": [ "prompt_tokens", "total_tokens" @@ -815,12 +830,12 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/cognitiveservices/data-plane/ContentSafety/preview/2023-04-30-preview/contentsafety.json b/specification/cognitiveservices/data-plane/ContentSafety/preview/2023-04-30-preview/contentsafety.json index ab2a5ad3e99d..7da0f7f59584 100644 --- a/specification/cognitiveservices/data-plane/ContentSafety/preview/2023-04-30-preview/contentsafety.json +++ b/specification/cognitiveservices/data-plane/ContentSafety/preview/2023-04-30-preview/contentsafety.json @@ -40,8 +40,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "Ocp-Apim-Subscription-Key" + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } }, "tags": [], @@ -58,8 +58,8 @@ { "name": "body", "in": "body", - "required": true, "description": "The analysis request of the image.", + "required": true, "schema": { "$ref": "#/definitions/AnalyzeImageOptions" } @@ -74,14 +74,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -107,50 +107,47 @@ "description": "The request has succeeded.", "schema": { "type": "object", + "description": "Paged collection of TextBlocklist items", "properties": { "value": { "type": "array", + "description": "The TextBlocklist items on this page", "items": { "$ref": "#/definitions/TextBlocklist" }, - "x-ms-identifiers": [], - "description": "The TextBlocklist items on this page", - "x-typespec-name": "TextBlocklist[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of TextBlocklist items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get All Text Blocklists": { "$ref": "./examples/ListTextBlocklists.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -166,11 +163,11 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" } ], "responses": { @@ -182,14 +179,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -203,6 +200,9 @@ "operationId": "TextBlocklists_CreateOrUpdateTextBlocklist", "summary": "Create Or Update Text Blocklist", "description": "Updates a text blocklist, if blocklistName does not exist, create a new blocklist.", + "consumes": [ + "application/merge-patch+json" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -210,17 +210,17 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" }, { "name": "resource", "in": "body", - "required": true, "description": "The resource instance.", + "required": true, "schema": { "$ref": "#/definitions/TextBlocklistUpdate" } @@ -241,20 +241,17 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/merge-patch+json" - ], "x-ms-examples": { "Create Or Update Text Blocklist": { "$ref": "./examples/CreateOrUpdateTextBlocklist.json" @@ -272,11 +269,11 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" } ], "responses": { @@ -285,14 +282,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -315,19 +312,19 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/AddBlockItemsOptions" - }, - "required": true + } } ], "responses": { @@ -339,14 +336,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -369,19 +366,19 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" }, { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/RemoveBlockItemsOptions" - }, - "required": true + } } ], "responses": { @@ -390,14 +387,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -420,11 +417,11 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" }, { "$ref": "#/parameters/Azure.Core.TopQueryParameter" @@ -441,50 +438,47 @@ "description": "The request has succeeded.", "schema": { "type": "object", + "description": "Paged collection of TextBlockItem items", "properties": { "value": { "type": "array", + "description": "The TextBlockItem items on this page", "items": { "$ref": "#/definitions/TextBlockItem" }, - "x-ms-identifiers": [], - "description": "The TextBlockItem items on this page", - "x-typespec-name": "TextBlockItem[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of TextBlockItem items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get All BlockItems By blocklistName": { "$ref": "./examples/ListTextBlocklistItems.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -500,17 +494,17 @@ { "name": "blocklistName", "in": "path", - "required": true, "description": "Text blocklist name.", + "required": true, "type": "string", - "pattern": "^[0-9A-Za-z._~-]+$", - "maxLength": 64 + "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$" }, { "name": "blockItemId", "in": "path", - "required": true, "description": "Block Item Id. It will be uuid.", + "required": true, "type": "string", "maxLength": 64 } @@ -524,14 +518,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -554,8 +548,8 @@ { "name": "body", "in": "body", - "required": true, "description": "The request of text analysis.", + "required": true, "schema": { "$ref": "#/definitions/AnalyzeTextOptions" } @@ -570,14 +564,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -592,39 +586,38 @@ "definitions": { "AddBlockItemsOptions": { "type": "object", + "description": "The request of adding blockItems to text blocklist.", "properties": { "blockItems": { "type": "array", + "description": "Array of blockItemInfo to add.", "items": { "$ref": "#/definitions/TextBlockItemInfo" }, - "x-ms-identifiers": [], - "description": "Array of blockItemInfo to add.", - "x-typespec-name": "TextBlockItemInfo[]" + "x-ms-identifiers": [] } }, - "description": "The request of adding blockItems to text blocklist.", "required": [ "blockItems" ] }, "AddBlockItemsResult": { "type": "object", + "description": "The response of adding blockItems to text blocklist.", "properties": { "value": { "type": "array", + "description": "Array of blockItems added.", "items": { "$ref": "#/definitions/TextBlockItem" }, - "x-ms-identifiers": [], - "description": "Array of blockItems added.", - "x-typespec-name": "TextBlockItem[]" + "x-ms-identifiers": [] } - }, - "description": "The response of adding blockItems to text blocklist." + } }, "AnalyzeImageOptions": { "type": "object", + "description": "The analysis request of the image.", "properties": { "image": { "$ref": "#/definitions/ImageData", @@ -632,20 +625,19 @@ }, "categories": { "type": "array", + "description": "The categories will be analyzed. If not assigned, a default set of the categories' analysis results will be returned.", "items": { "$ref": "#/definitions/ImageCategory" - }, - "description": "The categories will be analyzed. If not assigned, a default set of the categories' analysis results will be returned.", - "x-typespec-name": "ImageCategory[]" + } } }, - "description": "The analysis request of the image.", "required": [ "image" ] }, "AnalyzeImageResult": { "type": "object", + "description": "The analysis response of the image.", "properties": { "hateResult": { "$ref": "#/definitions/ImageAnalyzeSeverityResult", @@ -663,11 +655,11 @@ "$ref": "#/definitions/ImageAnalyzeSeverityResult", "description": "Analysis result for Violence category." } - }, - "description": "The analysis response of the image." + } }, "AnalyzeTextOptions": { "type": "object", + "description": "The analysis request of the text.", "properties": { "text": { "type": "string", @@ -676,41 +668,38 @@ }, "categories": { "type": "array", + "description": "The categories will be analyzed. If not assigned, a default set of the categories' analysis results will be returned.", "items": { "$ref": "#/definitions/TextCategory" - }, - "description": "The categories will be analyzed. If not assigned, a default set of the categories' analysis results will be returned.", - "x-typespec-name": "TextCategory[]" + } }, "blocklistNames": { "type": "array", + "description": "The names of blocklists.", "items": { "type": "string" - }, - "description": "The names of blocklists.", - "x-typespec-name": "string[]" + } }, "breakByBlocklists": { "type": "boolean", "description": "When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit." } }, - "description": "The analysis request of the text.", "required": [ "text" ] }, "AnalyzeTextResult": { "type": "object", + "description": "The analysis response of the text", "properties": { "blocklistsMatchResults": { "type": "array", + "description": "The details of blocklist match.", "items": { "$ref": "#/definitions/TextBlocklistMatchResult" }, - "x-ms-identifiers": [], - "description": "The details of blocklist match.", - "x-typespec-name": "TextBlocklistMatchResult[]" + "x-ms-identifiers": [] }, "hateResult": { "$ref": "#/definitions/TextAnalyzeSeverityResult", @@ -728,11 +717,11 @@ "$ref": "#/definitions/TextAnalyzeSeverityResult", "description": "Analysis result for Violence category." } - }, - "description": "The analysis response of the text" + } }, "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -748,19 +737,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -768,19 +755,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -790,11 +778,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "ImageAnalyzeSeverityResult": { "type": "object", + "description": "Image analysis result.", "properties": { "category": { "$ref": "#/definitions/ImageCategory", @@ -806,7 +794,6 @@ "description": "The higher the severity of input content, the larger this value, currently its value could be: 0,2,4,6." } }, - "description": "Image analysis result.", "required": [ "category", "severity" @@ -828,6 +815,7 @@ }, "ImageData": { "type": "object", + "description": "The content or blob url of image, could be base64 encoding bytes or blob url. If both are given, the request will be refused. The maximum size of image is 2048 pixels * 2048 pixels, no larger than 4MB at the same time. The minimum size of image is 50 pixels * 50 pixels.", "properties": { "content": { "type": "string", @@ -839,28 +827,27 @@ "format": "uri", "description": "The blob url of image." } - }, - "description": "The content or blob url of image, could be base64 encoding bytes or blob url. If both are given, the request will be refused. The maximum size of image is 2048 pixels * 2048 pixels, no larger than 4MB at the same time. The minimum size of image is 50 pixels * 50 pixels." + } }, "RemoveBlockItemsOptions": { "type": "object", + "description": "The request of removing blockItems from text blocklist.", "properties": { "blockItemIds": { "type": "array", + "description": "Array of blockItemIds to remove.", "items": { "type": "string" - }, - "description": "Array of blockItemIds to remove.", - "x-typespec-name": "string[]" + } } }, - "description": "The request of removing blockItems from text blocklist.", "required": [ "blockItemIds" ] }, "TextAnalyzeSeverityResult": { "type": "object", + "description": "Text analysis result.", "properties": { "category": { "$ref": "#/definitions/TextCategory", @@ -872,7 +859,6 @@ "description": "The higher the severity of input content, the larger this value is. The values could be: 0,2,4,6." } }, - "description": "Text analysis result.", "required": [ "category", "severity" @@ -880,6 +866,7 @@ }, "TextBlockItem": { "type": "object", + "description": "Item in TextBlocklist.", "properties": { "blockItemId": { "type": "string", @@ -901,7 +888,6 @@ "maxLength": 128 } }, - "description": "Item in TextBlocklist.", "required": [ "blockItemId", "text" @@ -909,6 +895,7 @@ }, "TextBlockItemInfo": { "type": "object", + "description": "Block item info in text blocklist.", "properties": { "description": { "type": "string", @@ -921,19 +908,19 @@ "maxLength": 128 } }, - "description": "Block item info in text blocklist.", "required": [ "text" ] }, "TextBlocklist": { "type": "object", + "description": "Text Blocklist.", "properties": { "blocklistName": { "type": "string", "description": "Text blocklist name.", - "pattern": "^[0-9A-Za-z._~-]+$", "maxLength": 64, + "pattern": "^[0-9A-Za-z._~-]+$", "x-ms-mutability": [ "read", "create" @@ -945,13 +932,13 @@ "maxLength": 1024 } }, - "description": "Text Blocklist.", "required": [ "blocklistName" ] }, "TextBlocklistMatchResult": { "type": "object", + "description": "The result of blocklist match.", "properties": { "blocklistName": { "type": "string", @@ -979,7 +966,6 @@ "description": "The length of matched text in original input." } }, - "description": "The result of blocklist match.", "required": [ "blocklistName", "blockItemId", @@ -990,14 +976,14 @@ }, "TextBlocklistUpdate": { "type": "object", + "description": "Text Blocklist.", "properties": { "description": { "type": "string", "description": "Text blocklist description.", "maxLength": 1024 } - }, - "description": "Text Blocklist." + } }, "TextCategory": { "type": "string", @@ -1034,18 +1020,18 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" }, "Azure.Core.MaxPageSizeQueryParameter": { "name": "maxpagesize", "in": "query", - "required": false, "description": "The maximum number of result items per page.", + "required": false, "type": "integer", "format": "int32", "x-ms-parameter-location": "method" @@ -1053,18 +1039,18 @@ "Azure.Core.SkipQueryParameter": { "name": "skip", "in": "query", - "required": false, "description": "The number of result items to skip.", - "default": 0, + "required": false, "type": "integer", "format": "int32", + "default": 0, "x-ms-parameter-location": "method" }, "Azure.Core.TopQueryParameter": { "name": "top", "in": "query", - "required": false, "description": "The number of result items to return.", + "required": false, "type": "integer", "format": "int32", "x-ms-parameter-location": "method" diff --git a/specification/cognitiveservices/data-plane/HealthInsights/preview/2023-03-01-preview/openapi.json b/specification/cognitiveservices/data-plane/HealthInsights/preview/2023-03-01-preview/openapi.json index b3c226255a51..95b328914fd6 100644 --- a/specification/cognitiveservices/data-plane/HealthInsights/preview/2023-03-01-preview/openapi.json +++ b/specification/cognitiveservices/data-plane/HealthInsights/preview/2023-03-01-preview/openapi.json @@ -42,8 +42,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "Ocp-Apim-Subscription-Key" + "name": "Ocp-Apim-Subscription-Key", + "in": "header" } }, "tags": [ @@ -57,10 +57,10 @@ "paths": { "/oncophenotype/jobs": { "post": { + "operationId": "OncoPhenotype_CreateJob", "tags": [ "OncoPhenotype" ], - "operationId": "OncoPhenotype_CreateJob", "summary": "Create Onco Phenotype job", "description": "Creates an Onco Phenotype job with the given request body.", "parameters": [ @@ -76,10 +76,10 @@ { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/OncoPhenotypeData" - }, - "required": true + } } ], "responses": { @@ -93,18 +93,18 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." }, "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Repeatability-Result": { - "description": "Indicates whether the repeatable request was accepted or rejected.", "type": "string", + "description": "Indicates whether the repeatable request was accepted or rejected.", "enum": [ "accepted", "rejected" @@ -114,14 +114,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -134,10 +134,10 @@ }, "/oncophenotype/jobs/{jobId}": { "get": { + "operationId": "OncoPhenotype_GetJob", "tags": [ "OncoPhenotype" ], - "operationId": "OncoPhenotype_GetJob", "summary": "Get Onco Phenotype job details", "description": "Gets the status and details of the Onco Phenotype job.", "parameters": [ @@ -147,8 +147,8 @@ { "name": "jobId", "in": "path", - "required": true, "description": "A processing job identifier.", + "required": true, "type": "string", "format": "uuid" } @@ -162,14 +162,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -182,10 +182,10 @@ }, "/trialmatcher/jobs": { "post": { + "operationId": "TrialMatcher_CreateJob", "tags": [ "TrialMatcher" ], - "operationId": "TrialMatcher_CreateJob", "summary": "Create Trial Matcher job", "description": "Creates a Trial Matcher job with the given request body.", "parameters": [ @@ -201,10 +201,10 @@ { "name": "body", "in": "body", + "required": true, "schema": { "$ref": "#/definitions/TrialMatcherData" - }, - "required": true + } } ], "responses": { @@ -218,18 +218,18 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." }, "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Repeatability-Result": { - "description": "Indicates whether the repeatable request was accepted or rejected.", "type": "string", + "description": "Indicates whether the repeatable request was accepted or rejected.", "enum": [ "accepted", "rejected" @@ -239,14 +239,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -259,10 +259,10 @@ }, "/trialmatcher/jobs/{jobId}": { "get": { + "operationId": "TrialMatcher_GetJob", "tags": [ "TrialMatcher" ], - "operationId": "TrialMatcher_GetJob", "summary": "Get Trial Matcher job details", "description": "Gets the status and details of the Trial Matcher job.", "parameters": [ @@ -272,8 +272,8 @@ { "name": "jobId", "in": "path", - "required": true, "description": "A processing job identifier.", + "required": true, "type": "string", "format": "uuid" } @@ -287,14 +287,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -309,6 +309,7 @@ "definitions": { "AcceptedAge": { "type": "object", + "description": "A person's age, given as a number (value) and a unit (e.g. years, months)", "properties": { "unit": { "$ref": "#/definitions/AgeUnit", @@ -320,7 +321,6 @@ "description": "The number of years/months/days that represents the person's age." } }, - "description": "A person's age, given as a number (value) and a unit (e.g. years, months)", "required": [ "unit", "value" @@ -328,6 +328,7 @@ }, "AcceptedAgeRange": { "type": "object", + "description": "A definition of the range of ages accepted by a clinical trial. Contains a minimum age and/or a maximum age.", "properties": { "minimumAge": { "$ref": "#/definitions/AcceptedAge", @@ -337,8 +338,7 @@ "$ref": "#/definitions/AcceptedAge", "description": "A person's age, given as a number (value) and a unit (e.g. years, months)" } - }, - "description": "A definition of the range of ages accepted by a clinical trial. Contains a minimum age and/or a maximum age." + } }, "AgeUnit": { "type": "string", @@ -385,6 +385,7 @@ }, "AreaGeometry": { "type": "object", + "description": "`GeoJSON` geometry, representing the area circle's center.", "properties": { "type": { "$ref": "#/definitions/GeoJsonGeometryType", @@ -392,17 +393,15 @@ }, "coordinates": { "type": "array", + "description": "Coordinates of the area circle's center, represented according to the `GeoJSON` standard.\nThis is an array of 2 decimal numbers, longitude and latitude (precisely in this order).", + "minItems": 2, + "maxItems": 2, "items": { "type": "number", "format": "float" - }, - "description": "Coordinates of the area circle's center, represented according to the `GeoJSON` standard.\nThis is an array of 2 decimal numbers, longitude and latitude (precisely in this order).", - "x-typespec-name": "float32[]", - "minItems": 2, - "maxItems": 2 + } } }, - "description": "`GeoJSON` geometry, representing the area circle's center.", "required": [ "type", "coordinates" @@ -410,6 +409,7 @@ }, "AreaProperties": { "type": "object", + "description": "`GeoJSON` object properties.", "properties": { "subType": { "$ref": "#/definitions/GeoJsonPropertiesSubType", @@ -421,7 +421,6 @@ "description": "The radius of the area's circle, in meters." } }, - "description": "`GeoJSON` object properties.", "required": [ "subType", "radius" @@ -429,6 +428,7 @@ }, "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -444,19 +444,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -464,19 +462,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -486,11 +485,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "ClinicalCodedElement": { "type": "object", + "description": "A piece of clinical information, expressed as a code in a clinical coding system.", "properties": { "system": { "type": "string", @@ -509,7 +508,6 @@ "description": "A value associated with the code within the given clinical coding system." } }, - "description": "A piece of clinical information, expressed as a code in a clinical coding system.", "required": [ "system", "code" @@ -569,6 +567,7 @@ }, "ClinicalNoteEvidence": { "type": "object", + "description": "A piece of evidence from a clinical note (text document).", "properties": { "id": { "type": "string", @@ -591,7 +590,6 @@ "minimum": 1 } }, - "description": "A piece of evidence from a clinical note (text document).", "required": [ "id", "offset", @@ -627,6 +625,7 @@ }, "ClinicalTrialDemographics": { "type": "object", + "description": "Demographic criteria for a clinical trial.", "properties": { "acceptedSex": { "$ref": "#/definitions/ClinicalTrialAcceptedSex", @@ -636,11 +635,11 @@ "$ref": "#/definitions/AcceptedAgeRange", "description": "A definition of the range of ages accepted by a clinical trial. Contains a minimum age and/or a maximum age." } - }, - "description": "Demographic criteria for a clinical trial." + } }, "ClinicalTrialDetails": { "type": "object", + "description": "A description of a clinical trial.", "properties": { "id": { "type": "string", @@ -660,7 +659,6 @@ "description": "Trial data which is of interest to the potential participant." } }, - "description": "A description of a clinical trial.", "required": [ "id", "metadata" @@ -668,14 +666,14 @@ }, "ClinicalTrialMetadata": { "type": "object", + "description": "Trial data which is of interest to the potential participant.", "properties": { "phases": { "type": "array", + "description": "Phases which are relevant for the clinical trial.\nEach clinical trial can be in a certain phase or in multiple phases.", "items": { "$ref": "#/definitions/ClinicalTrialPhase" - }, - "description": "Phases which are relevant for the clinical trial.\nEach clinical trial can be in a certain phase or in multiple phases.", - "x-typespec-name": "ClinicalTrialPhase[]" + } }, "studyType": { "$ref": "#/definitions/ClinicalTrialStudyType", @@ -687,41 +685,36 @@ }, "conditions": { "type": "array", + "description": "Medical conditions and their synonyms which are relevant for the clinical trial, given as strings.", + "minItems": 1, "items": { "type": "string" - }, - "description": "Medical conditions and their synonyms which are relevant for the clinical trial, given as strings.", - "x-typespec-name": "string[]", - "minItems": 1 + } }, "sponsors": { "type": "array", + "description": "Sponsors/collaborators involved with the trial.", "items": { "type": "string" - }, - "description": "Sponsors/collaborators involved with the trial.", - "x-typespec-name": "string[]" + } }, "contacts": { "type": "array", + "description": "Contact details of the trial administrators, for patients that want to participate in the trial.", "items": { "$ref": "#/definitions/ContactDetails" }, - "x-ms-identifiers": [], - "description": "Contact details of the trial administrators, for patients that want to participate in the trial.", - "x-typespec-name": "ContactDetails[]" + "x-ms-identifiers": [] }, "facilities": { "type": "array", + "description": "Research facilities where the clinical trial is conducted.", "items": { "$ref": "#/definitions/ClinicalTrialResearchFacility" }, - "x-ms-identifiers": [], - "description": "Research facilities where the clinical trial is conducted.", - "x-typespec-name": "ClinicalTrialResearchFacility[]" + "x-ms-identifiers": [] } }, - "description": "Trial data which is of interest to the potential participant.", "required": [ "conditions" ] @@ -864,102 +857,92 @@ }, "ClinicalTrialRegistryFilter": { "type": "object", + "description": "A filter defining a subset of clinical trials from a given clinical trial registry (e.g. clinicaltrials.gov).", "properties": { "conditions": { "type": "array", + "description": "Trials with any of the given medical conditions will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the medical conditions.", "items": { "type": "string" - }, - "description": "Trials with any of the given medical conditions will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the medical conditions.", - "x-typespec-name": "string[]" + } }, "studyTypes": { "type": "array", + "description": "Trials with any of the given study types will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the study types.", "items": { "$ref": "#/definitions/ClinicalTrialStudyType" - }, - "description": "Trials with any of the given study types will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the study types.", - "x-typespec-name": "ClinicalTrialStudyType[]" + } }, "recruitmentStatuses": { "type": "array", + "description": "Trials with any of the given recruitment statuses will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the recruitment statuses.", "items": { "$ref": "#/definitions/ClinicalTrialRecruitmentStatus" - }, - "description": "Trials with any of the given recruitment statuses will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the recruitment statuses.", - "x-typespec-name": "ClinicalTrialRecruitmentStatus[]" + } }, "sponsors": { "type": "array", + "description": "Trials with any of the given sponsors will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the sponsors.", "items": { "type": "string" - }, - "description": "Trials with any of the given sponsors will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the sponsors.", - "x-typespec-name": "string[]" + } }, "phases": { "type": "array", + "description": "Trials with any of the given phases will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the phases.", "items": { "$ref": "#/definitions/ClinicalTrialPhase" - }, - "description": "Trials with any of the given phases will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the phases.", - "x-typespec-name": "ClinicalTrialPhase[]" + } }, "purposes": { "type": "array", + "description": "Trials with any of the given purposes will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the purposes.", "items": { "$ref": "#/definitions/ClinicalTrialPurpose" - }, - "description": "Trials with any of the given purposes will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the purposes.", - "x-typespec-name": "ClinicalTrialPurpose[]" + } }, "ids": { "type": "array", + "description": "Trials with any of the given identifiers will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial identifiers.", "items": { "type": "string" - }, - "description": "Trials with any of the given identifiers will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial identifiers.", - "x-typespec-name": "string[]" + } }, "sources": { "type": "array", + "description": "Trials with any of the given sources will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the sources.", "items": { "$ref": "#/definitions/ClinicalTrialSource" - }, - "description": "Trials with any of the given sources will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the sources.", - "x-typespec-name": "ClinicalTrialSource[]" + } }, "facilityNames": { "type": "array", + "description": "Trials with any of the given facility names will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility names.", "items": { "type": "string" - }, - "description": "Trials with any of the given facility names will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility names.", - "x-typespec-name": "string[]" + } }, "facilityLocations": { "type": "array", + "description": "Trials with any of the given facility locations will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility locations.", "items": { "$ref": "#/definitions/GeographicLocation" }, - "x-ms-identifiers": [], - "description": "Trials with any of the given facility locations will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility locations.", - "x-typespec-name": "GeographicLocation[]" + "x-ms-identifiers": [] }, "facilityAreas": { "type": "array", + "description": "Trials with any of the given facility area boundaries will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility area boundaries.", "items": { "$ref": "#/definitions/GeographicArea" }, - "x-ms-identifiers": [], - "description": "Trials with any of the given facility area boundaries will be included in the selection (provided that other limitations are satisfied).\nLeaving this list empty will not limit the trial facility area boundaries.", - "x-typespec-name": "GeographicArea[]" + "x-ms-identifiers": [] } - }, - "description": "A filter defining a subset of clinical trials from a given clinical trial registry (e.g. clinicaltrials.gov)." + } }, "ClinicalTrialResearchFacility": { "type": "object", + "description": "Details of a research facility where a clinical trial is conducted.", "properties": { "name": { "type": "string", @@ -978,7 +961,6 @@ "description": "Country/region name." } }, - "description": "Details of a research facility where a clinical trial is conducted.", "required": [ "name", "countryOrRegion" @@ -1040,31 +1022,30 @@ }, "ClinicalTrials": { "type": "object", + "description": "The clinical trials that the patient(s) should be matched to. \nThe trial selection can be given as a list of custom clinical trials and/or a list of filters to known clinical trial registries.\nIn case both are given, the resulting trial set is a union of the two sets.", "properties": { "customTrials": { "type": "array", + "description": "A list of clinical trials.", + "minItems": 1, "items": { "$ref": "#/definitions/ClinicalTrialDetails" - }, - "description": "A list of clinical trials.", - "x-typespec-name": "ClinicalTrialDetails[]", - "minItems": 1 + } }, "registryFilters": { "type": "array", + "description": "A list of filters, each one creating a selection of trials from a given\nclinical trial registry.", + "minItems": 1, "items": { "$ref": "#/definitions/ClinicalTrialRegistryFilter" }, - "x-ms-identifiers": [], - "description": "A list of filters, each one creating a selection of trials from a given\nclinical trial registry.", - "x-typespec-name": "ClinicalTrialRegistryFilter[]", - "minItems": 1 + "x-ms-identifiers": [] } - }, - "description": "The clinical trials that the patient(s) should be matched to. \nThe trial selection can be given as a list of custom clinical trials and/or a list of filters to known clinical trial registries.\nIn case both are given, the resulting trial set is a union of the two sets." + } }, "ContactDetails": { "type": "object", + "description": "A person's contact details.", "properties": { "name": { "type": "string", @@ -1078,11 +1059,11 @@ "type": "string", "description": "A person's phone number." } - }, - "description": "A person's contact details." + } }, "DocumentContent": { "type": "object", + "description": "The content of the patient document.", "properties": { "sourceType": { "$ref": "#/definitions/DocumentContentSourceType", @@ -1093,7 +1074,6 @@ "description": "The content of the document, given either inline (as a string) or as a reference (URI)." } }, - "description": "The content of the patient document.", "required": [ "sourceType", "value" @@ -1155,6 +1135,7 @@ }, "ExtendedClinicalCodedElement": { "type": "object", + "description": "A piece of clinical information, expressed as a code in a clinical coding system, extended by semantic information.", "properties": { "system": { "type": "string", @@ -1181,7 +1162,6 @@ "description": "The bio-medical category related to the coded concept, e.g. Diagnosis, Symptom, Medication, Examination." } }, - "description": "A piece of clinical information, expressed as a code in a clinical coding system, extended by semantic information.", "required": [ "system", "code" @@ -1240,6 +1220,7 @@ }, "GeographicArea": { "type": "object", + "description": "A geographic area, expressed as a `Circle` geometry represented using a `GeoJSON Feature` (see [GeoJSON spec](https://tools.ietf.org/html/rfc7946)).", "properties": { "type": { "$ref": "#/definitions/GeoJsonType", @@ -1254,7 +1235,6 @@ "description": "`GeoJSON` object properties." } }, - "description": "A geographic area, expressed as a `Circle` geometry represented using a `GeoJSON Feature` (see [GeoJSON spec](https://tools.ietf.org/html/rfc7946)).", "required": [ "type", "geometry", @@ -1263,6 +1243,7 @@ }, "GeographicLocation": { "type": "object", + "description": "A location given as a combination of city, state and country/region. It could specify a city, a state or a country/region.\nIn case a city is specified, either state +country/region or country/region (for countries/regions where there are no states) should be added.\nIn case a state is specified (without a city), country/region should be added.", "properties": { "city": { "type": "string", @@ -1277,13 +1258,13 @@ "description": "Country/region name." } }, - "description": "A location given as a combination of city, state and country/region. It could specify a city, a state or a country/region.\nIn case a city is specified, either state +country/region or country/region (for countries/regions where there are no states) should be added.\nIn case a state is specified (without a city), country/region should be added.", "required": [ "countryOrRegion" ] }, "Inference": { "type": "object", + "description": "An inference made by the model regarding a patient.", "properties": { "value": { "type": "string", @@ -1301,13 +1282,13 @@ "maximum": 1 } }, - "description": "An inference made by the model regarding a patient.", "required": [ "value" ] }, "InferenceEvidence": { "type": "object", + "description": "A piece of evidence corresponding to an inference.", "properties": { "patientDataEvidence": { "$ref": "#/definitions/ClinicalNoteEvidence", @@ -1324,8 +1305,7 @@ "minimum": 0, "maximum": 1 } - }, - "description": "A piece of evidence corresponding to an inference." + } }, "JobStatus": { "type": "string", @@ -1370,35 +1350,35 @@ }, "NeededClinicalInfo": { "type": "array", + "description": "Clinical information which is needed to provide better trial matching results for the patient.", "items": { "$ref": "#/definitions/ExtendedClinicalCodedElement" }, - "x-ms-identifiers": [], - "description": "Clinical information which is needed to provide better trial matching results for the patient." + "x-ms-identifiers": [] }, "OncoPhenotypeData": { "type": "object", + "description": "The body of the Onco Phenotype request.", "properties": { "patients": { "type": "array", + "description": "The list of patients, including their clinical information and data.", "items": { "$ref": "#/definitions/PatientRecord" - }, - "description": "The list of patients, including their clinical information and data.", - "x-typespec-name": "PatientRecord[]" + } }, "configuration": { "$ref": "#/definitions/OncoPhenotypeModelConfiguration", "description": "Configuration affecting the Onco Phenotype model's inference." } }, - "description": "The body of the Onco Phenotype request.", "required": [ "patients" ] }, "OncoPhenotypeInference": { "type": "object", + "description": "An inference made by the Onco Phenotype model regarding a patient.", "properties": { "type": { "$ref": "#/definitions/OncoPhenotypeInferenceType", @@ -1421,19 +1401,17 @@ }, "evidence": { "type": "array", + "description": "The evidence corresponding to the inference value.", "items": { "$ref": "#/definitions/InferenceEvidence" }, - "x-ms-identifiers": [], - "description": "The evidence corresponding to the inference value.", - "x-typespec-name": "InferenceEvidence[]" + "x-ms-identifiers": [] }, "caseId": { "type": "string", "description": "An identifier for a clinical case, if there are multiple clinical cases regarding the same patient." } }, - "description": "An inference made by the Onco Phenotype model regarding a patient.", "required": [ "type", "value" @@ -1493,6 +1471,7 @@ }, "OncoPhenotypeModelConfiguration": { "type": "object", + "description": "Configuration affecting the Onco Phenotype model's inference.", "properties": { "verbose": { "type": "boolean", @@ -1506,22 +1485,21 @@ }, "inferenceTypes": { "type": "array", + "description": "A list of inference types to be inferred for the current request.\nThis could be used if only part of the Onco Phenotype inferences are required.\nIf this list is omitted or empty, the model will return all the inference types.", "items": { "$ref": "#/definitions/OncoPhenotypeInferenceType" - }, - "description": "A list of inference types to be inferred for the current request.\nThis could be used if only part of the Onco Phenotype inferences are required.\nIf this list is omitted or empty, the model will return all the inference types.", - "x-typespec-name": "OncoPhenotypeInferenceType[]" + } }, "checkForCancerCase": { "type": "boolean", "description": "An indication whether to perform a preliminary step on the patient's documents to determine whether they relate to a Cancer case.", "default": false } - }, - "description": "Configuration affecting the Onco Phenotype model's inference." + } }, "OncoPhenotypePatientResult": { "type": "object", + "description": "The results of the model's work for a single patient.", "properties": { "id": { "type": "string", @@ -1529,15 +1507,13 @@ }, "inferences": { "type": "array", + "description": "The model's inferences for the given patient.", "items": { "$ref": "#/definitions/OncoPhenotypeInference" }, - "x-ms-identifiers": [], - "description": "The model's inferences for the given patient.", - "x-typespec-name": "OncoPhenotypeInference[]" + "x-ms-identifiers": [] } }, - "description": "The results of the model's work for a single patient.", "required": [ "id", "inferences" @@ -1545,11 +1521,12 @@ }, "OncoPhenotypeResult": { "type": "object", + "description": "The response for the Onco Phenotype request.", "properties": { "jobId": { "type": "string", - "description": "A processing job identifier.", "format": "uuid", + "description": "A processing job identifier.", "readOnly": true }, "createdDateTime": { @@ -1577,13 +1554,12 @@ }, "errors": { "type": "array", + "description": "An array of errors, if any errors occurred during the processing job.", "items": { "$ref": "#/definitions/Azure.Core.Foundations.Error" }, - "x-ms-identifiers": [], - "description": "An array of errors, if any errors occurred during the processing job.", - "x-typespec-name": "Azure.Core.Foundations.Error[]", - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] }, "results": { "$ref": "#/definitions/OncoPhenotypeResults", @@ -1591,7 +1567,6 @@ "readOnly": true } }, - "description": "The response for the Onco Phenotype request.", "required": [ "jobId", "createdDateTime", @@ -1602,21 +1577,20 @@ }, "OncoPhenotypeResults": { "type": "object", + "description": "The inference results for the Onco Phenotype request.", "properties": { "patients": { "type": "array", + "description": "Results for the patients given in the request.", "items": { "$ref": "#/definitions/OncoPhenotypePatientResult" - }, - "description": "Results for the patients given in the request.", - "x-typespec-name": "OncoPhenotypePatientResult[]" + } }, "modelVersion": { "$ref": "#/definitions/ModelVersion", "description": "The version of the model used for inference, expressed as the model date." } }, - "description": "The inference results for the Onco Phenotype request.", "required": [ "patients", "modelVersion" @@ -1624,6 +1598,7 @@ }, "PatientDocument": { "type": "object", + "description": "A clinical document related to a patient. Document here is in the wide sense - not just a text document (note).", "properties": { "type": { "$ref": "#/definitions/DocumentType", @@ -1652,7 +1627,6 @@ "description": "The content of the patient document." } }, - "description": "A clinical document related to a patient. Document here is in the wide sense - not just a text document (note).", "required": [ "type", "id", @@ -1661,6 +1635,7 @@ }, "PatientInfo": { "type": "object", + "description": "Patient structured information, including demographics and known structured clinical information.", "properties": { "sex": { "$ref": "#/definitions/PatientInfoSex", @@ -1673,15 +1648,13 @@ }, "clinicalInfo": { "type": "array", + "description": "Known clinical information for the patient, structured.", "items": { "$ref": "#/definitions/ClinicalCodedElement" }, - "x-ms-identifiers": [], - "description": "Known clinical information for the patient, structured.", - "x-typespec-name": "ClinicalCodedElement[]" + "x-ms-identifiers": [] } - }, - "description": "Patient structured information, including demographics and known structured clinical information." + } }, "PatientInfoSex": { "type": "string", @@ -1712,6 +1685,7 @@ }, "PatientRecord": { "type": "object", + "description": "A patient record, including their clinical information and data.", "properties": { "id": { "type": "string", @@ -1724,41 +1698,39 @@ }, "data": { "type": "array", + "description": "Patient unstructured clinical data, given as documents.", "items": { "$ref": "#/definitions/PatientDocument" - }, - "description": "Patient unstructured clinical data, given as documents.", - "x-typespec-name": "PatientDocument[]" + } } }, - "description": "A patient record, including their clinical information and data.", "required": [ "id" ] }, "TrialMatcherData": { "type": "object", + "description": "The body of the Trial Matcher request.", "properties": { "patients": { "type": "array", + "description": "The list of patients, including their clinical information and data.", "items": { "$ref": "#/definitions/PatientRecord" - }, - "description": "The list of patients, including their clinical information and data.", - "x-typespec-name": "PatientRecord[]" + } }, "configuration": { "$ref": "#/definitions/TrialMatcherModelConfiguration", "description": "Configuration affecting the Trial Matcher model's inference." } }, - "description": "The body of the Trial Matcher request.", "required": [ "patients" ] }, "TrialMatcherInference": { "type": "object", + "description": "An inference made by the Trial Matcher model regarding a patient.", "properties": { "type": { "$ref": "#/definitions/TrialMatcherInferenceType", @@ -1781,12 +1753,11 @@ }, "evidence": { "type": "array", + "description": "The evidence corresponding to the inference value.", "items": { "$ref": "#/definitions/TrialMatcherInferenceEvidence" }, - "x-ms-identifiers": [], - "description": "The evidence corresponding to the inference value.", - "x-typespec-name": "TrialMatcherInferenceEvidence[]" + "x-ms-identifiers": [] }, "id": { "type": "string", @@ -1802,7 +1773,6 @@ "description": "Trial data which is of interest to the potential participant." } }, - "description": "An inference made by the Trial Matcher model regarding a patient.", "required": [ "type", "value" @@ -1810,6 +1780,7 @@ }, "TrialMatcherInferenceEvidence": { "type": "object", + "description": "A piece of evidence corresponding to a Trial Matcher inference.", "properties": { "eligibilityCriteriaEvidence": { "type": "string", @@ -1830,8 +1801,7 @@ "minimum": 0, "maximum": 1 } - }, - "description": "A piece of evidence corresponding to a Trial Matcher inference." + } }, "TrialMatcherInferenceType": { "type": "string", @@ -1852,6 +1822,7 @@ }, "TrialMatcherModelConfiguration": { "type": "object", + "description": "Configuration affecting the Trial Matcher model's inference.", "properties": { "verbose": { "type": "boolean", @@ -1868,13 +1839,13 @@ "description": "The clinical trials that the patient(s) should be matched to.
The trial\nselection can be given as a list of custom clinical trials and/or a list of\nfilters to known clinical trial registries. In case both are given, the\nresulting trial set is a union of the two sets." } }, - "description": "Configuration affecting the Trial Matcher model's inference.", "required": [ "clinicalTrials" ] }, "TrialMatcherPatientResult": { "type": "object", + "description": "The results of the model's work for a single patient.", "properties": { "id": { "type": "string", @@ -1882,18 +1853,16 @@ }, "inferences": { "type": "array", + "description": "The model's inferences for the given patient.", "items": { "$ref": "#/definitions/TrialMatcherInference" - }, - "description": "The model's inferences for the given patient.", - "x-typespec-name": "TrialMatcherInference[]" + } }, "neededClinicalInfo": { "$ref": "#/definitions/NeededClinicalInfo", "description": "Clinical information which is needed to provide better trial matching results for the patient." } }, - "description": "The results of the model's work for a single patient.", "required": [ "id", "inferences" @@ -1901,11 +1870,12 @@ }, "TrialMatcherResult": { "type": "object", + "description": "The response for the Trial Matcher request.", "properties": { "jobId": { "type": "string", - "description": "A processing job identifier.", "format": "uuid", + "description": "A processing job identifier.", "readOnly": true }, "createdDateTime": { @@ -1933,13 +1903,12 @@ }, "errors": { "type": "array", + "description": "An array of errors, if any errors occurred during the processing job.", "items": { "$ref": "#/definitions/Azure.Core.Foundations.Error" }, - "x-ms-identifiers": [], - "description": "An array of errors, if any errors occurred during the processing job.", - "x-typespec-name": "Azure.Core.Foundations.Error[]", - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] }, "results": { "$ref": "#/definitions/TrialMatcherResults", @@ -1947,7 +1916,6 @@ "readOnly": true } }, - "description": "The response for the Trial Matcher request.", "required": [ "jobId", "createdDateTime", @@ -1958,14 +1926,14 @@ }, "TrialMatcherResults": { "type": "object", + "description": "The inference results for the Trial Matcher request.", "properties": { "patients": { "type": "array", + "description": "Results for the patients given in the request.", "items": { "$ref": "#/definitions/TrialMatcherPatientResult" - }, - "description": "Results for the patients given in the request.", - "x-typespec-name": "TrialMatcherPatientResult[]" + } }, "modelVersion": { "$ref": "#/definitions/ModelVersion", @@ -1977,7 +1945,6 @@ "description": "The date when the clinical trials knowledge graph was last updated." } }, - "description": "The inference results for the Trial Matcher request.", "required": [ "patients", "modelVersion" @@ -1988,31 +1955,31 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" }, "Azure.Core.RepeatabilityRequestHeaders.repeatabilityFirstSent": { "name": "Repeatability-First-Sent", "in": "header", - "required": false, "description": "Specifies the date and time at which the request was first created.", - "x-ms-client-name": "repeatabilityFirstSent", + "required": false, "type": "string", "format": "date-time", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "repeatabilityFirstSent" }, "Azure.Core.RepeatabilityRequestHeaders.repeatabilityRequestId": { "name": "Repeatability-Request-ID", "in": "header", - "required": false, "description": "An opaque, globally-unique, client-generated string identifier for the request.", - "x-ms-client-name": "repeatabilityRequestId", + "required": false, "type": "string", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "repeatabilityRequestId" } } } diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/UnifiedVision.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/UnifiedVision.json new file mode 100644 index 000000000000..a4ae46a9e2e2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/UnifiedVision.json @@ -0,0 +1,3305 @@ +{ + "swagger": "2.0", + "info": { + "title": "Computer Vision Client", + "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to extract text using Read OCR, caption an image using descriptive natural language, detect objects, people, and more.", + "version": "2023-04-01-preview" + }, + "paths": { + "/imageanalysis:segment": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Analyze the input image. The request either contains an image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes a url property to be used to retrieve the image stream. An image stream of content type 'image/png' is returned, where the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image for modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image up to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "ImageAnalysis_Segment", + "consumes": [ + "application/json" + ], + "produces": [ + "image/png", + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "mode", + "description": "The analysis mode requested.", + "type": "string", + "enum": [ + "backgroundRemoval", + "foregroundMatting" + ], + "x-ms-enum": { + "name": "SegmentationMode", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Segment_BackgroundRemoval_FromImageUrl": { + "$ref": "./examples/Segment_BackgroundRemoval_FromImageUrl.json" + }, + "Segment_ForegroundMatting_FromImageUrl": { + "$ref": "./examples/Segment_ForegroundMatting_FromImageUrl.json" + } + } + } + }, + "/retrieval:vectorizeText": { + "post": { + "tags": [ + "ImageRetrieval" + ], + "summary": "Return vector from a text.", + "operationId": "ImageRetrieval_VectorizeText", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "model-version", + "description": "Model version.", + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Request of VectorizeText.", + "schema": { + "$ref": "#/definitions/VectorizeTextRequestApiModel" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SingleVectorResultApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImageRetrieval_VectorizeText": { + "$ref": "./examples/ImageRetrieval_VectorizeText.json" + } + } + } + }, + "/retrieval:vectorizeImage": { + "post": { + "tags": [ + "ImageRetrieval" + ], + "summary": "Return vector from an image.", + "operationId": "ImageRetrieval_VectorizeImage", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "model-version", + "description": "Model version.", + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SingleVectorResultApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImageRetrieval_VectorizeImage": { + "$ref": "./examples/ImageRetrieval_VectorizeImage.json" + } + } + } + }, + "/imagecomposition:stitch": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Run the image stitching operation against a sequence of images.", + "operationId": "ImageComposition_Stitch", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "image/jpeg", + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Input images urls that pass into image stitching operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageStitchingRequestApiModel" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImageComposition_Stitch": { + "$ref": "./examples/ImageComposition_Stitch.json" + } + } + } + }, + "/imagecomposition:rectify": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Run the image rectification operation against an image with 4 control points provided in the parameter.", + "operationId": "ImageComposition_Rectify", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "image/jpeg", + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Input image url and control points that are passed into rectification operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageRectificationRequestApiModel" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImageComposition_Rectify": { + "$ref": "./examples/ImageComposition_Rectify.json" + } + } + } + }, + "/planogramcompliance:match": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Run the planogram matching operation against a planogram and a product understanding result.", + "operationId": "PlanogramCompliance_Match", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Input to pass into the planogram matching operation.", + "schema": { + "$ref": "#/definitions/PlanogramMatchingRequestApiModel" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PlanogramMatchingResultApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "PlanogramCompliance_Match": { + "$ref": "./examples/PlanogramCompliance_Match.json" + } + } + } + }, + "/productrecognition/{modelName}/runs/{runName}": { + "put": { + "tags": [ + "Operations" + ], + "summary": "Run the product recognition against a model with an image.", + "operationId": "ProductRecognition_Create", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "modelName", + "description": "The name of the model to run product recognition with.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "runName", + "description": "The name of the product recognition run.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProductRecognitionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ProductRecognition_Create": { + "$ref": "./examples/ProductRecognition_Create.json" + } + } + }, + "get": { + "tags": [ + "Operations" + ], + "summary": "Get information about a specific product recognition run.", + "operationId": "ProductRecognition_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "modelName", + "description": "The name of the model the product recognition run belongs to.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "runName", + "description": "The name of the product recognition run.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductRecognitionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ProductRecognition_Get": { + "$ref": "./examples/ProductRecognition_Get.json" + } + } + }, + "delete": { + "tags": [ + "Operations" + ], + "summary": "Delete a product recognition run. A product recognition run can be deleted if it is in the 'Succeeded' or 'Failed' states.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A product recognition run with the specified name was not found.", + "operationId": "ProductRecognition_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "modelName", + "description": "The name of the model to delete the product recognition run for.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "runName", + "description": "The name of the product recognition run.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ProductRecognition_Delete": { + "$ref": "./examples/ProductRecognition_Delete.json" + } + } + } + }, + "/productrecognition/{modelName}/runs": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List all product recognition run of a model.", + "operationId": "ProductRecognition_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "modelName", + "description": "The name of the model the product recognition runs belongs to.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "query", + "name": "skip", + "description": "Number of product recognition runs to be skipped.", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + }, + { + "in": "query", + "name": "top", + "description": "Number of product recognition runs to be returned after skipping. The maximum allowed value is 30.", + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 30, + "minimum": 1 + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductRecognitionApiModelCollectionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ProductRecognition_List": { + "$ref": "./examples/ProductRecognition_List.json" + } + } + } + }, + "/imageanalysis:analyze": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Analyze the input image. The request either contains image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes an url property to be used to retrieve the image stream.", + "operationId": "ImageAnalysis_Analyze", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "features", + "description": "The visual features requested: tags, objects, caption, denseCaptions, read, smartCrops, people. This parameter needs to be specified if the parameter \"model-name\" is not specified.", + "type": "array", + "items": { + "enum": [ + "tags", + "caption", + "denseCaptions", + "objects", + "read", + "smartCrops", + "people" + ], + "type": "string", + "x-ms-enum": { + "name": "VisualFeature", + "modelAsString": true + } + }, + "collectionFormat": "csv" + }, + { + "in": "query", + "name": "model-name", + "description": "The name of the custom trained model. This parameter needs to be specified if the parameter \"features\" is not specified.", + "type": "string" + }, + { + "in": "query", + "name": "language", + "description": "The desired language for output generation. If this parameter is not specified, the default value is \"en\". See https://aka.ms/cv-languages for a list of supported languages.", + "type": "string", + "default": "en" + }, + { + "in": "query", + "name": "smartcrops-aspect-ratios", + "description": "A list of aspect ratios to use for smartCrops feature. Aspect ratios are calculated by dividing the target crop width by the height. Supported values are between 0.75 and 1.8 (inclusive). Multiple values should be comma-separated. If this parameter is not specified, the service will return one crop suggestion with an aspect ratio it sees fit between 0.5 and 2.0 (inclusive).", + "type": "string" + }, + { + "in": "query", + "name": "gender-neutral-caption", + "description": "Boolean flag for enabling gender-neutral captioning for caption and denseCaptions features. If this parameter is not specified, the default value is \"false\".", + "type": "boolean", + "default": false + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ImageAnalysisResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "AnalyzeImage_CustomModel": { + "$ref": "./examples/AnalyzeImage_CustomModel.json" + } + } + } + }, + "/datasets/{name}": { + "put": { + "tags": [ + "Datasets" + ], + "summary": "Register a new dataset.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: A dataset with the specified name already exists.", + "operationId": "Datasets_Register", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "A name that can be used to uniquely identify the dataset after it has been registered.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Properties for the dataset, such as the list of URIs to the annotation files.", + "required": true, + "schema": { + "$ref": "#/definitions/Dataset" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Dataset" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "RegisterDataset_ImageClassification": { + "$ref": "./examples/RegisterDataset_ImageClassification.json" + } + } + }, + "get": { + "tags": [ + "Datasets" + ], + "summary": "Get information about a specific dataset.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.", + "operationId": "Datasets_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the dataset to get.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Dataset" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Datasets_Get": { + "$ref": "./examples/Datasets_Get.json" + } + } + }, + "patch": { + "tags": [ + "Datasets" + ], + "summary": "Update the properties of an existing dataset.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.\r\n- 412: An If-Match header was provided, but the given ETag did not match the current ETag value.", + "operationId": "Datasets_Update", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the dataset to update.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "header", + "name": "If-Match", + "description": "Optional ETag for the dataset to update.
\r\nIf an ETag is provided, then the dataset will be updated only if its current ETag value matches the given ETag.\r\nIf the ETag values don't match, then the update operation will fail with status code 412 (Precondition Failed).\r\nThis indicates that the dataset has been updated since the last time information for the dataset was obtained.
\r\nIf an ETag is not provided or its value is '*', then the dataset will always be updated regardless of the current ETag value.", + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Properties to update on the existing dataset.", + "required": true, + "schema": { + "$ref": "#/definitions/Dataset" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Dataset" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Datasets_Update": { + "$ref": "./examples/Datasets_Update.json" + } + } + }, + "delete": { + "tags": [ + "Datasets" + ], + "summary": "Unregister a dataset.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.\r\n- 412: An If-Match header was provided, but the given ETag did not match the current ETag value.", + "operationId": "Datasets_Unregister", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the dataset to unregister.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "header", + "name": "If-Match", + "description": "Optional ETag for the dataset to unregister.
\r\nIf an ETag is provided, then the dataset will be unregistered only if its current ETag value matches the given ETag.\r\nIf the ETag values don't match, then the unregister operation will fail with status code 412 (Precondition Failed).\r\nThis indicates that the dataset has been updated since the last time information for the dataset was obtained.
\r\nIf an ETag is not provided or its value is '*', then the dataset will always be unregistered regardless of the current ETag value.", + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Datasets_Unregister": { + "$ref": "./examples/Datasets_Unregister.json" + } + } + } + }, + "/datasets": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Get a list of datasets that have been registered.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "Datasets_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "skip", + "description": "Number of datasets to be skipped.", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + }, + { + "in": "query", + "name": "top", + "description": "Number of datasets to be returned after skipping. The maximum allowed value is 30.", + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 30, + "minimum": 1 + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DatasetApiModelCollectionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Datasets_List": { + "$ref": "./examples/Datasets_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/models/{name}": { + "put": { + "tags": [ + "Models" + ], + "summary": "Start training a custom model.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: A model with the specified name already exists.", + "operationId": "Models_Create", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "A name that can be used to uniquely identify the model after it has been created.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Properties for the model, such as the name of the dataset to use to train the model.", + "required": true, + "schema": { + "$ref": "#/definitions/Model" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Model" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Models_Create": { + "$ref": "./examples/Models_Create.json" + } + } + }, + "get": { + "tags": [ + "Models" + ], + "summary": "Get information about a specific model.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to get.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Model" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Models_Get": { + "$ref": "./examples/Models_Get.json" + } + } + }, + "delete": { + "tags": [ + "Models" + ], + "summary": "Delete a custom model. A model can be deleted if it is in one of the 'Succeeded', 'Failed', or 'Canceled' states.\r\nIf a model is in the 'NotStarted' or 'Training' state, cancel training and wait for cancellation to finish before deleting the model.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to delete.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Models_Delete": { + "$ref": "./examples/Models_Delete.json" + } + } + } + }, + "/models": { + "get": { + "tags": [ + "Models" + ], + "summary": "Get a list of the available models.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "Models_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "skip", + "description": "Number of models to be skipped.", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + }, + { + "in": "query", + "name": "top", + "description": "Number of models to be returned after skipping. The maximum allowed value is 30.", + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 30, + "minimum": 1 + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ModelApiModelCollectionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Models_List": { + "$ref": "./examples/Models_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/models/{name}:cancel": { + "post": { + "tags": [ + "Models" + ], + "summary": "Cancel model training.\r\n \r\nStatus codes returned:\r\n- 202: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_CancelTraining", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to cancel training.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Models_CancelTraining": { + "$ref": "./examples/Models_CancelTraining.json" + } + } + } + }, + "/models/{name}/evaluations/{evaluationName}": { + "put": { + "tags": [ + "Models" + ], + "summary": "Evaluate an existing model.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: An evaluation with the specified name already exists.", + "operationId": "ModelEvaluations_Create", + "consumes": [ + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to evaluate.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "evaluationName", + "description": "A name that can be used to uniquely identify the evaluation after it has been created.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Properties for the evaluation, such as the name of the dataset to use to test the model.", + "required": true, + "schema": { + "$ref": "#/definitions/ModelEvaluation" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ModelEvaluation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ModelEvaluations_Create": { + "$ref": "./examples/ModelEvaluations_Create.json" + } + } + }, + "get": { + "tags": [ + "Models" + ], + "summary": "Get information about a specific model evaluation.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model evaluation with the specified name was not found.", + "operationId": "ModelEvaluations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to get the evaluation for.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "evaluationName", + "description": "The name of the model evaluation to get.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ModelEvaluation" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ModelEvaluations_Get": { + "$ref": "./examples/ModelEvaluations_Get.json" + } + } + }, + "delete": { + "tags": [ + "Models" + ], + "summary": "Delete a model evaluation. A model evaluation can be deleted if it is in the 'Succeeded' or 'Failed' states.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model evaluation with the specified name was not found.", + "operationId": "ModelEvaluations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to delete the evaluation for.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "path", + "name": "evaluationName", + "description": "The name of the model evaluation to delete.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ModelEvaluations_Delete": { + "$ref": "./examples/ModelEvaluations_Delete.json" + } + } + } + }, + "/models/{name}/evaluations": { + "get": { + "tags": [ + "Models" + ], + "summary": "Get a list of the available evaluations for a model.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "ModelEvaluations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of the model to get evaluations for.", + "required": true, + "type": "string", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" + }, + { + "in": "query", + "name": "skip", + "description": "Number of evaluations to be skipped.", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + }, + { + "in": "query", + "name": "top", + "description": "Number of evaluations to be returned after skipping. The maximum allowed value is 30.", + "type": "integer", + "format": "int32", + "default": 10, + "maximum": 30, + "minimum": 1 + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ModelEvaluationApiModelCollectionApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ModelEvaluations_List": { + "$ref": "./examples/ModelEvaluations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AdultMatch": { + "description": "An object describing adult content match.", + "required": [ + "confidence", + "isMatch" + ], + "type": "object", + "properties": { + "isMatch": { + "description": "A value indicating if the image is matched adult content.", + "type": "boolean" + }, + "confidence": { + "format": "double", + "description": "A value indicating the confidence level of matched adult content.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "AdultResult": { + "description": "An object describing whether the image contains adult-oriented content and/or is racy.", + "required": [ + "adult", + "gore", + "racy" + ], + "type": "object", + "properties": { + "adult": { + "$ref": "#/definitions/AdultMatch" + }, + "racy": { + "$ref": "#/definitions/AdultMatch" + }, + "gore": { + "$ref": "#/definitions/AdultMatch" + } + } + }, + "BoundingBox": { + "description": "A bounding box for an area inside an image.", + "required": [ + "h", + "w", + "x", + "y" + ], + "type": "object", + "properties": { + "x": { + "format": "int32", + "description": "Left-coordinate of the top left point of the area, in pixels.", + "minimum": 0, + "type": "integer" + }, + "y": { + "format": "int32", + "description": "Top-coordinate of the top left point of the area, in pixels.", + "minimum": 0, + "type": "integer" + }, + "w": { + "format": "int32", + "description": "Width measured from the top-left point of the area, in pixels.", + "minimum": 1, + "type": "integer" + }, + "h": { + "format": "int32", + "description": "Height measured from the top-left point of the area, in pixels.", + "minimum": 1, + "type": "integer" + } + } + }, + "CaptionResult": { + "description": "A brief description of what the image depicts.", + "required": [ + "confidence", + "text" + ], + "type": "object", + "properties": { + "text": { + "description": "The text of the caption.", + "minLength": 1, + "type": "string" + }, + "confidence": { + "format": "double", + "description": "The level of confidence the service has in the caption.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "CropRegion": { + "description": "A region identified for smart cropping. There will be one region returned for each requested aspect ratio.", + "required": [ + "aspectRatio", + "boundingBox" + ], + "type": "object", + "properties": { + "aspectRatio": { + "format": "double", + "description": "The aspect ratio of the crop region.", + "type": "number" + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox" + } + } + }, + "DenseCaption": { + "description": "A brief description of what the image depicts.", + "required": [ + "confidence", + "text" + ], + "type": "object", + "properties": { + "text": { + "description": "The text of the caption.", + "minLength": 1, + "type": "string" + }, + "confidence": { + "format": "double", + "description": "The level of confidence the service has in the caption.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox" + } + } + }, + "DenseCaptionsResult": { + "description": "A list of captions.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "A list of captions.", + "type": "array", + "items": { + "$ref": "#/definitions/DenseCaption" + } + } + } + }, + "Description": { + "description": "A brief description of what the image depicts.", + "required": [ + "confidence", + "text" + ], + "type": "object", + "properties": { + "text": { + "description": "The text of the caption.", + "minLength": 1, + "type": "string" + }, + "confidence": { + "format": "double", + "description": "The level of confidence the service has in the caption.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "DescriptionResult": { + "description": "A list of descriptions sorted by confidence level.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "A list of descriptions sorted by confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/Description" + } + } + } + }, + "DetectedObject": { + "description": "Describes a detected object in an image.", + "required": [ + "boundingBox", + "tags" + ], + "type": "object", + "properties": { + "id": { + "description": "Id of the detected object.", + "minLength": 1, + "type": "string" + }, + "boundingBox": { + "$ref": "#/definitions/BoundingBox" + }, + "tags": { + "description": "Classification confidences of the detected object.", + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + } + }, + "DetectedPerson": { + "description": "A person detected in an image.", + "required": [ + "boundingBox", + "confidence" + ], + "type": "object", + "properties": { + "boundingBox": { + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "format": "double", + "description": "Confidence score of having observed the person in the image, as a value ranging from 0 to 1.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "DocumentLanguage": { + "description": "An object representing the detected language for a given text span.", + "required": [ + "confidence", + "languageCode", + "spans" + ], + "type": "object", + "properties": { + "spans": { + "description": "Location of the text elements in the concatenated content the language applies to.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "languageCode": { + "description": "Detected language. Value may an ISO 639-1 language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"zh-Hans\").", + "minLength": 1, + "type": "string" + }, + "confidence": { + "format": "double", + "description": "Confidence of correctly identifying the language.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "DocumentLine": { + "description": "A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.", + "required": [ + "boundingBox", + "content", + "spans" + ], + "type": "object", + "properties": { + "content": { + "description": "Concatenated content of the contained elements in reading order.", + "minLength": 1, + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the line.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + }, + "spans": { + "description": "Location of the line in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentPage": { + "description": "The content and layout elements extracted from a page from the input.", + "required": [ + "angle", + "height", + "lines", + "pageNumber", + "spans", + "width", + "words" + ], + "type": "object", + "properties": { + "height": { + "format": "double", + "description": "The height of the image/PDF in pixels/inches, respectively.", + "type": "number" + }, + "width": { + "format": "double", + "description": "The width of the image/PDF in pixels/inches, respectively.", + "type": "number" + }, + "angle": { + "format": "double", + "description": "The general orientation of the content in clockwise direction, measured in degrees between (-180, 180].", + "type": "number" + }, + "pageNumber": { + "format": "int32", + "description": "1-based page number in the input document.", + "type": "integer" + }, + "words": { + "description": "Extracted words from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentWord" + } + }, + "spans": { + "description": "Location of the page in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "lines": { + "description": "Extracted lines from the page, potentially containing both textual and visual elements.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentLine" + } + } + } + }, + "DocumentSpan": { + "description": "Contiguous region of the concatenated content property, specified as an offset and length.", + "required": [ + "length", + "offset" + ], + "type": "object", + "properties": { + "offset": { + "format": "int32", + "description": "Zero-based index of the content represented by the span.", + "type": "integer" + }, + "length": { + "format": "int32", + "description": "Number of characters in the content represented by the span.", + "type": "integer" + } + } + }, + "DocumentStyle": { + "description": "An object representing observed text styles.", + "required": [ + "spans" + ], + "type": "object", + "properties": { + "isHandwritten": { + "description": "Is content handwritten or not.", + "type": "boolean" + }, + "spans": { + "description": "Location of the text elements in the concatenated content the style applies to.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "format": "double", + "description": "Confidence of correctly identifying the style.", + "type": "number" + } + } + }, + "DocumentWord": { + "description": "A word object consisting of a contiguous sequence of characters. For non-space delimited languages,\r\nsuch as Chinese, Japanese, and Korean, each character is represented as its own word.", + "required": [ + "boundingBox", + "confidence", + "content", + "span" + ], + "type": "object", + "properties": { + "content": { + "description": "Text content of the word.", + "minLength": 1, + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the word.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + }, + "confidence": { + "format": "double", + "description": "Confidence of correctly extracting the word.", + "type": "number" + }, + "span": { + "$ref": "#/definitions/DocumentSpan" + } + } + }, + "ErrorResponse": { + "description": "Response returned when an error occurs.", + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseDetails" + } + } + }, + "ErrorResponseDetails": { + "description": "Error info.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Target of the error.", + "type": "string" + }, + "details": { + "description": "List of detailed errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseDetails" + } + }, + "innererror": { + "$ref": "#/definitions/ErrorResponseInnerError" + } + } + }, + "ErrorResponseInnerError": { + "description": "Detailed error.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "innererror": { + "$ref": "#/definitions/ErrorResponseInnerError" + } + } + }, + "FixtureApiModel": { + "description": "Describes a fixture in a planogram.", + "required": [ + "h", + "id", + "w", + "x", + "y" + ], + "type": "object", + "properties": { + "id": { + "description": "Id of the fixture.", + "minLength": 1, + "type": "string" + }, + "w": { + "format": "double", + "description": "Width of the fixture.", + "type": "number" + }, + "h": { + "format": "double", + "description": "Height of the fixture.", + "type": "number" + }, + "x": { + "format": "double", + "description": "Left offset from the origin, in unit of in inches or centimeters.", + "minimum": 0, + "type": "number" + }, + "y": { + "format": "double", + "description": "Top offset from the origin, in unit of in inches or centimeters.", + "minimum": 0, + "type": "number" + } + } + }, + "ImageAnalysisResult": { + "description": "Describe the combined results of different types of image analysis.", + "required": [ + "metadata", + "modelVersion" + ], + "type": "object", + "properties": { + "customModelResult": { + "$ref": "#/definitions/ImagePredictionResult" + }, + "captionResult": { + "$ref": "#/definitions/CaptionResult" + }, + "objectsResult": { + "$ref": "#/definitions/ObjectsResult" + }, + "readResult": { + "$ref": "#/definitions/ReadResult" + }, + "denseCaptionsResult": { + "$ref": "#/definitions/DenseCaptionsResult" + }, + "modelVersion": { + "description": "Model Version.", + "minLength": 1, + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/ImageMetadataApiModel" + }, + "tagsResult": { + "$ref": "#/definitions/TagsResult" + }, + "adultResult": { + "$ref": "#/definitions/AdultResult" + }, + "smartCropsResult": { + "$ref": "#/definitions/SmartCropsResult" + }, + "peopleResult": { + "$ref": "#/definitions/PeopleResult" + } + } + }, + "ImageMetadataApiModel": { + "description": "The image metadata information such as height and width.", + "required": [ + "height", + "width" + ], + "type": "object", + "properties": { + "width": { + "format": "int32", + "description": "The width of the image in pixels.", + "minimum": 1, + "type": "integer" + }, + "height": { + "format": "int32", + "description": "The height of the image in pixels.", + "minimum": 1, + "type": "integer" + } + } + }, + "ImagePredictionResult": { + "description": "Describes the prediction result of an image.", + "type": "object", + "properties": { + "tagsResult": { + "$ref": "#/definitions/TagsResult" + }, + "objectsResult": { + "$ref": "#/definitions/ObjectsResult" + } + } + }, + "ImageRectificationControlPointsApiModel": { + "description": "Four corner control points for rectification. The origin is at top-left.", + "required": [ + "bottomLeft", + "bottomRight", + "topLeft", + "topRight" + ], + "type": "object", + "properties": { + "topLeft": { + "$ref": "#/definitions/NormalizedCoordinateApiModel" + }, + "topRight": { + "$ref": "#/definitions/NormalizedCoordinateApiModel" + }, + "bottomLeft": { + "$ref": "#/definitions/NormalizedCoordinateApiModel" + }, + "bottomRight": { + "$ref": "#/definitions/NormalizedCoordinateApiModel" + } + } + }, + "ImageRectificationRequestApiModel": { + "description": "Image rectification input.", + "required": [ + "controlPoints", + "url" + ], + "type": "object", + "properties": { + "url": { + "format": "uri", + "description": "Source image blob URL.", + "type": "string" + }, + "controlPoints": { + "$ref": "#/definitions/ImageRectificationControlPointsApiModel" + } + } + }, + "ImageStitchingRequestApiModel": { + "description": "Image stitching input.", + "required": [ + "images" + ], + "type": "object", + "properties": { + "images": { + "description": "Source images to stitch.", + "maxItems": 20, + "minItems": 2, + "type": "array", + "items": { + "format": "uri", + "type": "string" + } + } + } + }, + "ImageUrl": { + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + }, + "NormalizedCoordinateApiModel": { + "description": "Normalized XY-coordinate.", + "required": [ + "x", + "y" + ], + "type": "object", + "properties": { + "x": { + "format": "double", + "description": "Horizontal coordinate.", + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "format": "double", + "description": "Vertical coordinate.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "ObjectsResult": { + "description": "Describes detected objects in an image.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "An array of detected objects.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + } + } + } + }, + "PeopleResult": { + "description": "An object describing whether the image contains people.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "An array of detected people.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedPerson" + } + } + } + }, + "PlanogramApiModel": { + "description": "Describes the planogram for planogram matching operations.", + "required": [ + "fixtures", + "height", + "positions", + "products", + "width" + ], + "type": "object", + "properties": { + "width": { + "format": "double", + "description": "Width of the planogram.", + "type": "number" + }, + "height": { + "format": "double", + "description": "Height of the planogram.", + "type": "number" + }, + "products": { + "description": "List of products in the planogram.", + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/ProductApiModel" + } + }, + "fixtures": { + "description": "List of fixtures in the planogram.", + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/FixtureApiModel" + } + }, + "positions": { + "description": "List of positions in the planogram.", + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/PositionApiModel" + } + } + } + }, + "PlanogramMatchingRequestApiModel": { + "description": "Input to pass into the planogram matching operation.", + "required": [ + "detectedProducts", + "planogram" + ], + "type": "object", + "properties": { + "detectedProducts": { + "$ref": "#/definitions/ProductRecognitionResultApiModel" + }, + "planogram": { + "$ref": "#/definitions/PlanogramApiModel" + } + } + }, + "PlanogramMatchingResultApiModel": { + "description": "Results from the planogram matching operation.", + "required": [ + "matchingResultPerPosition" + ], + "type": "object", + "properties": { + "matchingResultPerPosition": { + "description": "The matched detected object information for each planogram position.", + "type": "array", + "items": { + "$ref": "#/definitions/PositionMatchingResultApiModel" + } + } + } + }, + "PositionApiModel": { + "description": "Describes a product position in a planogram.", + "required": [ + "fixtureId", + "id", + "productId", + "x", + "y" + ], + "type": "object", + "properties": { + "id": { + "description": "Id of the position.", + "minLength": 1, + "type": "string" + }, + "productId": { + "description": "Id of the product.", + "minLength": 1, + "type": "string" + }, + "fixtureId": { + "description": "Id of the fixture that the product is on.", + "minLength": 1, + "type": "string" + }, + "x": { + "format": "double", + "description": "Left offset from the origin, in unit of in inches or centimeters.", + "minimum": 0, + "type": "number" + }, + "y": { + "format": "double", + "description": "Top offset from the origin, in unit of in inches or centimeters.", + "minimum": 0, + "type": "number" + } + } + }, + "PositionMatchingResultApiModel": { + "description": "Paired planogram position ID and corresponding detected object from product understanding result.", + "required": [ + "detectedObject", + "positionId" + ], + "type": "object", + "properties": { + "positionId": { + "description": "The position ID from the planogram matched to the corresponding detected object.", + "minLength": 1, + "type": "string" + }, + "detectedObject": { + "$ref": "#/definitions/DetectedObject" + } + } + }, + "ProductApiModel": { + "description": "Describes a product in the planogram.", + "required": [ + "h", + "id", + "name", + "w" + ], + "type": "object", + "properties": { + "id": { + "description": "Id of the product.", + "minLength": 1, + "type": "string" + }, + "name": { + "description": "Name of the product.", + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "w": { + "format": "double", + "description": "Width of the product.", + "type": "number" + }, + "h": { + "format": "double", + "description": "Height of the fixture.", + "type": "number" + } + } + }, + "ProductRecognitionApiModel": { + "required": [ + "createdDateTime", + "modelName", + "result", + "runName", + "status", + "updatedDateTime" + ], + "type": "object", + "properties": { + "runName": { + "description": "Read only. The name that is used to uniquely identify the product recognition run.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "modelName": { + "description": "Read only. The model to run product recognition against.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "createdDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the product recognition run was first created, in UTC.", + "type": "string" + }, + "updatedDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the product recognition run was last updated, in UTC.", + "type": "string" + }, + "status": { + "description": "Read only. The current state of the product recognition run.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProductRecognitionState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/ErrorResponseDetails" + }, + "result": { + "$ref": "#/definitions/ProductRecognitionResultApiModel" + } + } + }, + "ProductRecognitionApiModelCollectionApiModel": { + "description": "Contains an array of results that may be paginated.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ProductRecognitionApiModel" + } + }, + "nextLink": { + "description": "A link to the next set of paginated results, if there are more results available; not present otherwise.", + "type": "string" + } + } + }, + "ProductRecognitionResultApiModel": { + "description": "Results from the product understanding operation.", + "required": [ + "gaps", + "imageMetadata", + "products" + ], + "type": "object", + "properties": { + "imageMetadata": { + "$ref": "#/definitions/ImageMetadataApiModel" + }, + "products": { + "description": "Products detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + } + }, + "gaps": { + "description": "Gaps detected in the image.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectedObject" + } + } + } + }, + "ReadResult": { + "description": "The results of an Read operation.", + "required": [ + "content", + "pages", + "stringIndexType" + ], + "type": "object", + "properties": { + "stringIndexType": { + "description": "The method used to compute string offset and length, possible values include: 'textElements', 'unicodeCodePoint', 'utf16CodeUnit' etc.", + "minLength": 1, + "type": "string" + }, + "content": { + "description": "Concatenate string representation of all textual and visual elements in reading order.", + "minLength": 1, + "type": "string" + }, + "pages": { + "description": "A list of analyzed pages.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentPage" + } + }, + "styles": { + "description": "Extracted font styles.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentStyle" + } + } + } + }, + "SingleVectorResultApiModel": { + "description": "Results of image vectorization.", + "type": "object", + "properties": { + "vector": { + "description": "Vector of the image.", + "type": "array", + "items": { + "format": "float", + "type": "number" + } + }, + "modelVersion": { + "description": "Model version.", + "type": "string" + } + } + }, + "SmartCropsResult": { + "description": "Smart cropping result.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "Recommended regions for cropping the image.", + "type": "array", + "items": { + "$ref": "#/definitions/CropRegion" + } + } + } + }, + "Tag": { + "description": "An entity observation in the image, along with the confidence score.", + "required": [ + "confidence", + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the entity.", + "minLength": 1, + "type": "string" + }, + "confidence": { + "format": "double", + "description": "The level of confidence that the entity was observed.", + "maximum": 1, + "minimum": 0, + "type": "number" + } + } + }, + "TagsResult": { + "description": "A list of tags with confidence level.", + "required": [ + "values" + ], + "type": "object", + "properties": { + "values": { + "description": "A list of tags with confidence level.", + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + } + } + }, + "VectorizeTextRequestApiModel": { + "description": "Model for VectorizeText request.", + "required": [ + "text" + ], + "type": "object", + "properties": { + "text": { + "description": "Text for vectorization.", + "minLength": 1, + "type": "string" + } + } + }, + "Dataset": { + "description": "Describes a dataset, which represents a set of images and annotations that can be used for training or testing a model.", + "type": "object", + "properties": { + "annotationKind": { + "description": "The kind of annotations contained in the annotation files.\r\nFor example, \"ImageClassification\" to specify that the annotation file contain object labels for training or testing a multiclass image classification model.", + "enum": [ + "imageClassification", + "imageObjectDetection" + ], + "type": "string", + "x-ms-enum": { + "name": "AnnotationKind", + "modelAsString": true + } + }, + "annotationFileUris": { + "description": "List of absolute URIs to annotation files, each of which must be stored as a blob in an Azure Storage blob container.\r\nEach file must follow the COCO format for the specified AnnotationKind, with each image path being an absolute URI to a blob in a blob container.\r\nThe Computer Vision resource must have permission to read the annotation files and all referenced image files.\r\nThis can be done by turning on System managed identities for the Computer Vision resource, then assigning the identity to a role that has permission to read from the blob container containing the annotation and image files.", + "maxItems": 10, + "type": "array", + "items": { + "format": "uri", + "type": "string" + } + }, + "customProperties": { + "description": "Dictionary of arbitrary key-value pairs for use by the application. A maximum of 10 key-value pairs are allowed.", + "maxLength": 10, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Read only. The name that is used to uniquely identify the dataset.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "createdDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the dataset was first registered, in UTC.", + "type": "string" + }, + "updatedDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the dataset was last updated, in UTC.", + "type": "string" + }, + "eTag": { + "description": "Read only. The latest ETag for the dataset. May be used with the 'If-Match' header when updating or deleting a dataset.", + "type": "string" + }, + "authentication": { + "$ref": "#/definitions/StorageAuthenticationSettingsApiModel" + } + } + }, + "DatasetApiModelCollectionApiModel": { + "description": "Contains an array of results that may be paginated.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Dataset" + } + }, + "nextLink": { + "description": "A link to the next set of paginated results, if there are more results available; not present otherwise.", + "type": "string" + } + } + }, + "Model": { + "description": "Describes a training run for training a custom model.", + "required": [ + "trainingParameters" + ], + "type": "object", + "properties": { + "trainingParameters": { + "$ref": "#/definitions/TrainingParameters" + }, + "name": { + "description": "Read only. The name that is used to uniquely identify the training run.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "createdDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the training run was first created, in UTC.", + "type": "string" + }, + "updatedDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the training run was last updated, in UTC.", + "type": "string" + }, + "status": { + "description": "Read only. The current state of the training run.", + "enum": [ + "notStarted", + "training", + "succeeded", + "failed", + "cancelling", + "cancelled" + ], + "type": "string", + "x-ms-enum": { + "name": "ModelState", + "modelAsString": true + } + }, + "trainingCostInMinutes": { + "format": "int32", + "description": "Read only. Actual training cost consumed, in minutes. Present only if the training run as completed.", + "type": "integer", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/ErrorResponseDetails" + }, + "modelPerformance": { + "$ref": "#/definitions/ModelPerformance" + }, + "evaluationParameters": { + "$ref": "#/definitions/ModelEvaluationParameters" + } + } + }, + "ModelApiModelCollectionApiModel": { + "description": "Contains an array of results that may be paginated.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "nextLink": { + "description": "A link to the next set of paginated results, if there are more results available; not present otherwise.", + "type": "string" + } + } + }, + "ModelEvaluation": { + "description": "Describes an evaluation run for evaluating the accuracy of a model using a test set.", + "required": [ + "evaluationParameters" + ], + "type": "object", + "properties": { + "name": { + "description": "Read only. The name that is used to uniquely identify the evaluation run.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "modelName": { + "description": "Read only. The model to evaluate.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "createdDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the evaluation run was first created, in UTC.", + "type": "string" + }, + "updatedDateTime": { + "format": "date-time", + "description": "Read only. The date and time when the evaluation run was last updated, in UTC.", + "type": "string" + }, + "status": { + "description": "Read only. The current state of the evaluation run.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ModelEvaluationState", + "modelAsString": true + } + }, + "evaluationParameters": { + "$ref": "#/definitions/ModelEvaluationParameters" + }, + "error": { + "$ref": "#/definitions/ErrorResponseDetails" + }, + "modelPerformance": { + "$ref": "#/definitions/ModelPerformance" + } + } + }, + "ModelEvaluationApiModelCollectionApiModel": { + "description": "Contains an array of results that may be paginated.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelEvaluation" + } + }, + "nextLink": { + "description": "A link to the next set of paginated results, if there are more results available; not present otherwise.", + "type": "string" + } + } + }, + "ModelEvaluationParameters": { + "description": "Parameters for specifying how a model is evaluated.", + "type": "object", + "properties": { + "testDatasetName": { + "description": "The dataset name used for testing.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + } + } + }, + "ModelPerformance": { + "description": "Performance metrics for a custom trained model.", + "required": [ + "tagPerformance" + ], + "type": "object", + "properties": { + "accuracyTop1": { + "format": "double", + "description": "Read only. For multiclass classification models. The proportion of test samples where the ground truth class matches the predicted class.", + "type": "number", + "readOnly": true + }, + "accuracyTop5": { + "format": "double", + "description": "Read only. For multiclass classification models. The proportion of test samples where the ground truth class is in the top five predicted classes.", + "type": "number", + "readOnly": true + }, + "averagePrecision": { + "format": "double", + "description": "Read only. A measure of the model performance, it summarizes the precision and recall at different confidence thresholds.", + "type": "number", + "readOnly": true + }, + "calibrationECE": { + "format": "double", + "description": "Read only. For multiclass classification models. Expected calibration error.", + "type": "number", + "readOnly": true + }, + "meanAveragePrecision30": { + "format": "double", + "description": "Read only. For object detection models. Mean average precision at a threshold of 30%.", + "type": "number", + "readOnly": true + }, + "meanAveragePrecision50": { + "format": "double", + "description": "Read only. For object detection models. Mean average precision at a threshold of 50%.", + "type": "number", + "readOnly": true + }, + "meanAveragePrecision75": { + "format": "double", + "description": "Read only. For object detection models. Mean average precision at a threshold of 75%.", + "type": "number", + "readOnly": true + }, + "tagPerformance": { + "description": "Read only. Performance metrics for each tag recognized by the model.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ModelTagPerformance" + } + } + } + }, + "ModelTagPerformance": { + "description": "Performance metrics for each tag recognized by a custom trained model.", + "type": "object", + "properties": { + "accuracy": { + "format": "double", + "description": "Read only. For multiclass models. Tag accuracy.", + "type": "number", + "readOnly": true + }, + "averagePrecision50": { + "format": "double", + "description": "Read only. For object detection models. Average precision at a threshold of 50%.", + "type": "number", + "readOnly": true + } + } + }, + "StorageAuthenticationSettingsApiModel": { + "description": "Describes the storage authentication settings.", + "required": [ + "kind" + ], + "type": "object", + "properties": { + "kind": { + "description": "The storage authentication kind.", + "enum": [ + "none", + "managedIdentity", + "sas" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAuthenticationKind", + "modelAsString": true + } + }, + "sasToken": { + "description": "Optional. The sas token to access container. Only needed when Kind = Sas.", + "type": "string" + } + } + }, + "TrainingParameters": { + "description": "Parameters for specifying how a training run trains a custom model.", + "required": [ + "timeBudgetInHours", + "trainingDatasetName" + ], + "type": "object", + "properties": { + "trainingDatasetName": { + "description": "The dataset name used for training.", + "maxLength": 255, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "timeBudgetInHours": { + "format": "int32", + "description": "Time budget for training, in hours. The minimum allowed value is 1, and the maximum allowed value is 336 hours for GenericClassifier, 1344 hours for GenericDetector.\r\nThis is the maximum amount of compute time that will be spent to train the model.", + "maximum": 1344, + "minimum": 1, + "type": "integer" + }, + "modelKind": { + "description": "Model kind.", + "enum": [ + "Product-Recognizer", + "Generic-Classifier", + "Generic-Detector" + ], + "type": "string", + "x-ms-enum": { + "name": "ModelKind", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "ApiVersion": { + "in": "query", + "name": "api-version", + "description": "Requested API version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + }, + "x-ms-paths": { + "/imageanalysis:segment?overload=stream": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Analyze the input image. The request either contains an image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes a url property to be used to retrieve the image stream. An image stream of content type 'image/png' is returned, where the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image for modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image up to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "ImageAnalysis_SegmentFromImageStream", + "consumes": [ + "application/octet-stream", + "image/jpeg", + "image/gif", + "image/tiff", + "image/bmp", + "image/png" + ], + "produces": [ + "image/png", + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "mode", + "description": "The analysis mode requested.", + "type": "string", + "enum": [ + "backgroundRemoval", + "foregroundMatting" + ], + "x-ms-enum": { + "name": "SegmentationMode", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "An image stream.", + "required": true, + "schema": { + "format": "byte", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Segment_BackgroundRemoval_FromImageStream": { + "$ref": "./examples/Segment_BackgroundRemoval_FromImageStream.json" + }, + "Segment_ForegroundMatting_FromImageStream": { + "$ref": "./examples/Segment_ForegroundMatting_FromImageStream.json" + } + } + } + }, + "/retrieval:vectorizeImage?overload=stream": { + "post": { + "tags": [ + "ImageRetrieval" + ], + "summary": "Return vector from an image.", + "operationId": "ImageRetrieval_VectorizeImageFromImageStream", + "consumes": [ + "application/octet-stream", + "image/jpeg", + "image/gif", + "image/tiff", + "image/bmp", + "image/png" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "model-version", + "description": "Model version.", + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "An image stream.", + "required": true, + "schema": { + "format": "byte", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SingleVectorResultApiModel" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImageRetrieval_VectorizeImageFromImageStream": { + "$ref": "./examples/ImageRetrieval_VectorizeImageFromImageStream.json" + } + } + } + }, + "/imageanalysis:analyze?overload=stream": { + "post": { + "tags": [ + "Operations" + ], + "summary": "Analyze the input image. The request either contains image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes an url property to be used to retrieve the image stream.", + "operationId": "ImageAnalysis_AnalyzeFromImageStream", + "consumes": [ + "application/octet-stream", + "image/jpeg", + "image/gif", + "image/tiff", + "image/bmp", + "image/png" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "features", + "description": "The visual features requested: tags, objects, caption, denseCaptions, read, smartCrops, people. This parameter needs to be specified if the parameter \"model-name\" is not specified.", + "type": "array", + "items": { + "enum": [ + "tags", + "caption", + "denseCaptions", + "objects", + "read", + "smartCrops", + "people" + ], + "type": "string", + "x-ms-enum": { + "name": "VisualFeature", + "modelAsString": true + } + }, + "collectionFormat": "csv" + }, + { + "in": "query", + "name": "model-name", + "description": "The name of the custom trained model. This parameter needs to be specified if the parameter \"features\" is not specified.", + "type": "string" + }, + { + "in": "query", + "name": "language", + "description": "The desired language for output generation. If this parameter is not specified, the default value is \"en\". See https://aka.ms/cv-languages for a list of supported languages.", + "type": "string", + "default": "en" + }, + { + "in": "query", + "name": "smartcrops-aspect-ratios", + "description": "A list of aspect ratios to use for smartCrops feature. Aspect ratios are calculated by dividing the target crop width by the height. Supported values are between 0.75 and 1.8 (inclusive). Multiple values should be comma-separated. If this parameter is not specified, the service will return one crop suggestion with an aspect ratio it sees fit between 0.5 and 2.0 (inclusive).", + "type": "string" + }, + { + "in": "query", + "name": "gender-neutral-caption", + "description": "Boolean flag for enabling gender-neutral captioning for caption and denseCaptions features. If this parameter is not specified, the default value is \"false\".", + "type": "boolean", + "default": false + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "An image stream.", + "required": true, + "schema": { + "format": "byte", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ImageAnalysisResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "AnalyzeImageFromImageStream_CustomModel": { + "$ref": "./examples/AnalyzeImageFromImageStream_CustomModel.json" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImageFromImageStream_CustomModel.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImageFromImageStream_CustomModel.json new file mode 100644 index 000000000000..846d8814261d --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImageFromImageStream_CustomModel.json @@ -0,0 +1,56 @@ +{ + "title": "Analyze the input image. The request either contains image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes an url property to be used to retrieve the image stream.", + "operationId": "ImageAnalysis_AnalyzeFromImageStream", + "parameters": { + "api-version": "2023-04-01-preview", + "model-name": "my_model_name", + "body": "Ynl0ZXM=" + }, + "responses": { + "200": { + "body": { + "modelVersion": "2023-04-01-preview", + "customModelResult": { + "objectsResult": { + "values": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + }, + { + "id": "2", + "boundingBox": { + "x": 0, + "y": 77, + "w": 241, + "h": 359 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.87890625 + } + ] + } + ] + } + }, + "metadata": { + "width": 660, + "height": 495 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImage_CustomModel.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImage_CustomModel.json new file mode 100644 index 000000000000..904a36ca706b --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/AnalyzeImage_CustomModel.json @@ -0,0 +1,58 @@ +{ + "title": "Analyze the input image. The request either contains image stream with any content type ['image/*', 'application/octet-stream'], or a JSON payload which includes an url property to be used to retrieve the image stream.", + "operationId": "ImageAnalysis_Analyze", + "parameters": { + "api-version": "2023-04-01-preview", + "model-name": "my_model_name", + "body": { + "url": "https://example.com/image.jpg" + } + }, + "responses": { + "200": { + "body": { + "customModelResult": { + "objectsResult": { + "values": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + }, + { + "id": "2", + "boundingBox": { + "x": 0, + "y": 77, + "w": 241, + "h": 359 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.87890625 + } + ] + } + ] + } + }, + "modelVersion": "2023-04-01-preview", + "metadata": { + "width": 660, + "height": 495 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Get.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Get.json new file mode 100644 index 000000000000..3a0ad5391f72 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Get.json @@ -0,0 +1,22 @@ +{ + "title": "Get information about a specific dataset.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.", + "operationId": "Datasets_Get", + "parameters": { + "name": "my_dataset_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://example.com/dataset.json" + ], + "name": "my_dataset_name", + "createdDateTime": "2023-01-13T20:46:20.189Z", + "updatedDateTime": "2023-01-13T20:46:20.189Z", + "eTag": "kzktjgnqkjagdlkualdzikaseg" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_List.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_List.json new file mode 100644 index 000000000000..53be7091166e --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_List.json @@ -0,0 +1,25 @@ +{ + "title": "Get a list of datasets that have been registered.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "Datasets_List", + "parameters": { + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://example.com/dataset.json" + ], + "name": "my_dataset_name", + "createdDateTime": "2023-01-13T20:46:20.189Z", + "updatedDateTime": "2023-01-13T20:46:20.189Z", + "eTag": "kzktjgnqkjagdlkualdzikaseg" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Unregister.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Unregister.json new file mode 100644 index 000000000000..c9e527c031da --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Unregister.json @@ -0,0 +1,11 @@ +{ + "title": "Unregister a dataset.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.\r\n- 412: An If-Match header was provided, but the given ETag did not match the current ETag value.", + "operationId": "Datasets_Unregister", + "parameters": { + "name": "my_dataset_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Update.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Update.json new file mode 100644 index 000000000000..0933308c2e07 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Datasets_Update.json @@ -0,0 +1,28 @@ +{ + "title": "Update the properties of an existing dataset.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A dataset with the specified name was not found.\r\n- 412: An If-Match header was provided, but the given ETag did not match the current ETag value.", + "operationId": "Datasets_Update", + "parameters": { + "name": "my_dataset_name", + "api-version": "2023-04-01-preview", + "body": { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://microsoft.com/a" + ] + } + }, + "responses": { + "200": { + "body": { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://microsoft.com/a" + ], + "name": "my_dataset_name", + "createdDateTime": "2023-01-13T20:46:20.189Z", + "updatedDateTime": "2023-01-13T20:46:20.189Z", + "eTag": "kzktjgnqkjagdlkualdzikaseg" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Rectify.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Rectify.json new file mode 100644 index 000000000000..acad997b48ba --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Rectify.json @@ -0,0 +1,33 @@ +{ + "title": "Run the image rectification operation against an image with 4 control points provided in the parameter.", + "operationId": "ImageComposition_Rectify", + "parameters": { + "api-version": "2023-04-01-preview", + "body": { + "url": "https://example.com/image.jpg", + "controlPoints": { + "topLeft": { + "x": 0.1, + "y": 0.1 + }, + "topRight": { + "x": 0.9, + "y": 0.1 + }, + "bottomLeft": { + "x": 0.1, + "y": 0.9 + }, + "bottomRight": { + "x": 0.9, + "y": 0.9 + } + } + } + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Stitch.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Stitch.json new file mode 100644 index 000000000000..6fdf89fe5c55 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageComposition_Stitch.json @@ -0,0 +1,21 @@ +{ + "title": "Run the image stitching operation against a sequence of images.", + "operationId": "ImageComposition_Stitch", + "parameters": { + "api-version": "2023-04-01-preview", + "body": { + "images": [ + "https://example.com/image-1.jpg", + "https://example.com/image-2.jpg", + "https://example.com/image-3.jpg", + "https://example.com/image-4.jpg", + "https://example.com/image-5.jpg" + ] + } + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImage.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImage.json new file mode 100644 index 000000000000..3ce5f9d65703 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImage.json @@ -0,0 +1,23 @@ +{ + "title": "Return vector from an image.", + "operationId": "ImageRetrieval_VectorizeImage", + "parameters": { + "model-version": "2023-04-01-preview", + "api-version": "2023-04-01-preview", + "body": { + "url": "https://example.com/image.jpg" + } + }, + "responses": { + "200": { + "body": { + "vector": [ + 0.0, + 1.1, + 2.2 + ], + "modelVersion": "2023-04-01-preview" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImageFromImageStream.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImageFromImageStream.json new file mode 100644 index 000000000000..df27cfe91af4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeImageFromImageStream.json @@ -0,0 +1,21 @@ +{ + "title": "Return vector from an image.", + "operationId": "ImageRetrieval_VectorizeImage", + "parameters": { + "model-version": "2023-04-01-preview", + "api-version": "2023-04-01-preview", + "body": "Ynl0ZXM=" + }, + "responses": { + "200": { + "body": { + "vector": [ + 0.0, + 1.1, + 2.2 + ], + "modelVersion": "2023-04-01-preview" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeText.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeText.json new file mode 100644 index 000000000000..36ecbf6116db --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ImageRetrieval_VectorizeText.json @@ -0,0 +1,23 @@ +{ + "title": "Return vector from a text.", + "operationId": "ImageRetrieval_VectorizeText", + "parameters": { + "model-version": "2023-04-01-preview", + "api-version": "2023-04-01-preview", + "body": { + "text": "my text" + } + }, + "responses": { + "200": { + "body": { + "vector": [ + 0.0, + 1.1, + 2.2 + ], + "modelVersion": "2023-04-01-preview" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Create.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Create.json new file mode 100644 index 000000000000..b0114229dd6e --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Create.json @@ -0,0 +1,28 @@ +{ + "title": "Evaluate an existing model.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: An evaluation with the specified name already exists.", + "operationId": "ModelEvaluations_Create", + "parameters": { + "name": "my_model_name", + "evaluationName": "my_evaluation_name", + "api-version": "2023-04-01-preview", + "body": { + "evaluationParameters": { + "testDatasetName": "my_test_dataset_name" + } + } + }, + "responses": { + "201": { + "body": { + "name": "my_evaluation_name", + "modelName": "my_model_name", + "createdDateTime": "2023-01-13T20:46:22.127Z", + "updatedDateTime": "2023-01-13T20:46:22.127Z", + "status": "notStarted", + "evaluationParameters": { + "testDatasetName": "my_test_dataset_name" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Delete.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Delete.json new file mode 100644 index 000000000000..736fb652a4d2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Delete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete a model evaluation. A model evaluation can be deleted if it is in the 'Succeeded' or 'Failed' states.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model evaluation with the specified name was not found.", + "operationId": "ModelEvaluations_Delete", + "parameters": { + "name": "my_model_name", + "evaluationName": "my_evaluation_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Get.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Get.json new file mode 100644 index 000000000000..c745c0c83879 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_Get.json @@ -0,0 +1,23 @@ +{ + "title": "Get information about a specific model evaluation.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model evaluation with the specified name was not found.", + "operationId": "ModelEvaluations_Get", + "parameters": { + "name": "my_model_name", + "evaluationName": "my_evaluation_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "my_evaluation_name", + "modelName": "my_model_name", + "createdDateTime": "2023-01-13T20:46:22.127Z", + "updatedDateTime": "2023-01-13T20:46:22.127Z", + "status": "notStarted", + "evaluationParameters": { + "testDatasetName": "my_test_dataset_name" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_List.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_List.json new file mode 100644 index 000000000000..62a96bf981e4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ModelEvaluations_List.json @@ -0,0 +1,26 @@ +{ + "title": "Get a list of the available evaluations for a model.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "ModelEvaluations_List", + "parameters": { + "name": "my_model_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "my_evaluation_name", + "modelName": "my_model_name", + "createdDateTime": "2023-01-13T20:46:22.127Z", + "updatedDateTime": "2023-01-13T20:46:22.127Z", + "status": "notStarted", + "evaluationParameters": { + "testDatasetName": "my_test_dataset_name" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_CancelTraining.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_CancelTraining.json new file mode 100644 index 000000000000..6e0807983a45 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_CancelTraining.json @@ -0,0 +1,11 @@ +{ + "title": "Cancel model training.\r\n \r\nStatus codes returned:\r\n- 202: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_CancelTraining", + "parameters": { + "name": "my_dataset_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Create.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Create.json new file mode 100644 index 000000000000..5bb9d7f09e35 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Create.json @@ -0,0 +1,28 @@ +{ + "title": "Start training a custom model.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: A model with the specified name already exists.", + "operationId": "Models_Create", + "parameters": { + "name": "model_name", + "api-version": "2023-04-01-preview", + "body": { + "trainingParameters": { + "timeBudgetInHours": 100, + "trainingDatasetName": "my_dataset_name" + } + } + }, + "responses": { + "201": { + "body": { + "name": "model_name", + "createdDateTime": "2023-01-13T20:46:21.210Z", + "updatedDateTime": "2023-01-13T20:46:21.210Z", + "status": "notStarted", + "trainingParameters": { + "timeBudgetInHours": 100, + "trainingDatasetName": "my_dataset_name" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Delete.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Delete.json new file mode 100644 index 000000000000..201c96ae9448 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Delete.json @@ -0,0 +1,11 @@ +{ + "title": "Delete a custom model. A model can be deleted if it is in one of the 'Succeeded', 'Failed', or 'Canceled' states.\r\nIf a model is in the 'NotStarted' or 'Training' state, cancel training and wait for cancellation to finish before deleting the model.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_Delete", + "parameters": { + "name": "my_model_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Get.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Get.json new file mode 100644 index 000000000000..bdbe7bf54bf1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_Get.json @@ -0,0 +1,22 @@ +{ + "title": "Get information about a specific model.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A model with the specified name was not found.", + "operationId": "Models_Get", + "parameters": { + "name": "my_model_name", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "my_model_name", + "createdDateTime": "2023-01-13T20:46:21.210Z", + "updatedDateTime": "2023-01-13T20:46:21.210Z", + "status": "notStarted", + "trainingParameters": { + "timeBudgetInHours": 1, + "trainingDatasetName": "my_dataset_name" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_List.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_List.json new file mode 100644 index 000000000000..33ea20d409be --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Models_List.json @@ -0,0 +1,25 @@ +{ + "title": "Get a list of the available models.\r\n \r\nStatus codes returned:\r\n- 200: Operation completed successfully.\r\n- 400: The request was malformed.", + "operationId": "Models_List", + "parameters": { + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "my_model_name", + "createdDateTime": "2023-01-13T20:46:21.210Z", + "updatedDateTime": "2023-01-13T20:46:21.210Z", + "status": "notStarted", + "trainingParameters": { + "timeBudgetInHours": 1, + "trainingDatasetName": "my_dataset_name" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/PlanogramCompliance_Match.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/PlanogramCompliance_Match.json new file mode 100644 index 000000000000..ea291bd4726c --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/PlanogramCompliance_Match.json @@ -0,0 +1,105 @@ +{ + "title": "Run the planogram matching operation against a planogram and a product understanding result.", + "operationId": "PlanogramCompliance_Match", + "parameters": { + "api-version": "2023-04-01-preview", + "body": { + "detectedProducts": { + "imageMetadata": { + "width": 660, + "height": 495 + }, + "products": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + } + ], + "gaps": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "gap", + "confidence": 0.92431640625 + } + ] + } + ] + }, + "planogram": { + "width": 10, + "height": 16, + "products": [ + { + "id": "1", + "name": "product-1", + "w": 8, + "h": 25 + } + ], + "fixtures": [ + { + "id": "1", + "w": 20, + "h": 4, + "x": 0, + "y": 0 + } + ], + "positions": [ + { + "id": "1", + "productId": "1", + "fixtureId": "1", + "x": 0, + "y": 0 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "matchingResultPerPosition": [ + { + "positionId": "0", + "detectedObject": { + "id": "0", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Create.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Create.json new file mode 100644 index 000000000000..4e7e5d93eb61 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Create.json @@ -0,0 +1,60 @@ +{ + "title": "Run the product recognition against a model with an image.", + "operationId": "ProductRecognition_Create", + "parameters": { + "modelName": "model-1", + "runName": "run-1", + "api-version": "2023-04-01-preview" + }, + "responses": { + "201": { + "body": { + "runName": "run-1", + "modelName": "model-1", + "createdDateTime": "2023-04-12T21:56:42.827Z", + "updatedDateTime": "2023-04-12T21:56:42.827Z", + "status": "completed", + "result": { + "imageMetadata": { + "width": 660, + "height": 495 + }, + "products": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + } + ], + "gaps": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "gap", + "confidence": 0.92431640625 + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Delete.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Delete.json new file mode 100644 index 000000000000..c0a3ed18c760 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Delete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete a product recognition run. A product recognition run can be deleted if it is in the 'Succeeded' or 'Failed' states.\r\n \r\nStatus codes returned:\r\n- 204: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 404: A product recognition run with the specified name was not found.", + "operationId": "ProductRecognition_Delete", + "parameters": { + "modelName": "model-1", + "runName": "run-1", + "api-version": "2023-04-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Get.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Get.json new file mode 100644 index 000000000000..46c3e6197263 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_Get.json @@ -0,0 +1,60 @@ +{ + "title": "Get information about a specific product recognition run.", + "operationId": "ProductRecognition_Get", + "parameters": { + "modelName": "model-1", + "runName": "run-1", + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "runName": "run-1", + "modelName": "model-1", + "createdDateTime": "2023-04-12T21:56:42.827Z", + "updatedDateTime": "2023-04-12T21:56:42.827Z", + "status": "completed", + "result": { + "imageMetadata": { + "width": 660, + "height": 495 + }, + "products": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + } + ], + "gaps": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "gap", + "confidence": 0.92431640625 + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_List.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_List.json new file mode 100644 index 000000000000..0e827da78c04 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/ProductRecognition_List.json @@ -0,0 +1,65 @@ +{ + "title": "List all product recognition run of a model.", + "operationId": "ProductRecognition_List", + "parameters": { + "modelName": "model-1", + "skip": 0, + "top": 10, + "api-version": "2023-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "runName": "run-1", + "modelName": "model-1", + "createdDateTime": "2023-04-12T21:56:42.827Z", + "updatedDateTime": "2023-04-12T21:56:42.827Z", + "status": "completed", + "result": { + "imageMetadata": { + "width": 660, + "height": 495 + }, + "products": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "class1", + "confidence": 0.92431640625 + } + ] + } + ], + "gaps": [ + { + "id": "1", + "boundingBox": { + "x": 197, + "y": 68, + "w": 356, + "h": 394 + }, + "tags": [ + { + "name": "gap", + "confidence": 0.92431640625 + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/RegisterDataset_ImageClassification.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/RegisterDataset_ImageClassification.json new file mode 100644 index 000000000000..f0abe423b1a1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/RegisterDataset_ImageClassification.json @@ -0,0 +1,28 @@ +{ + "title": "Register a new dataset.\r\n \r\nStatus codes returned:\r\n- 201: Operation completed successfully.\r\n- 400: The request was malformed.\r\n- 409: A dataset with the specified name already exists.", + "operationId": "Datasets_Register", + "parameters": { + "name": "my_dataset_name", + "api-version": "2023-04-01-preview", + "body": { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://example.com/dataset.json" + ] + } + }, + "responses": { + "201": { + "body": { + "annotationKind": "imageClassification", + "annotationFileUris": [ + "https://example.com/dataset.json" + ], + "name": "my_dataset_name", + "createdDateTime": "2023-01-13T20:46:20.189Z", + "updatedDateTime": "2023-01-13T20:46:20.189Z", + "eTag": "kzktjgnqkjagdlkualdzikaseg" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageStream.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageStream.json new file mode 100644 index 000000000000..62163fe21557 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageStream.json @@ -0,0 +1,14 @@ +{ + "title": "Analyze the input image of incoming request without deployment. The request either contains an image stream\r\nwith any content type ['image/*', '\"application/octet-stream'], or a JSON payload which includes a url\r\nproperty to be used to retrieve the image stream. An image stream of content type 'image/png' is returned,\r\nwhere the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image\r\nfor modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image\r\nup to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "Segment", + "parameters": { + "mode": "foregroundMatting", + "api-version": "2023-04-01-preview", + "body": "Ynl0ZXM=" + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageUrl.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageUrl.json new file mode 100644 index 000000000000..a0ef644a841b --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_BackgroundRemoval_FromImageUrl.json @@ -0,0 +1,16 @@ +{ + "title": "Analyze the input image of incoming request without deployment. The request either contains an image stream\r\nwith any content type ['image/*', '\"application/octet-stream'], or a JSON payload which includes a url\r\nproperty to be used to retrieve the image stream. An image stream of content type 'image/png' is returned,\r\nwhere the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image\r\nfor modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image\r\nup to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "Segment", + "parameters": { + "mode": "backgroundRemoval", + "api-version": "2023-04-01-preview", + "body": { + "url": "{image url}" + } + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageStream.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageStream.json new file mode 100644 index 000000000000..62163fe21557 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageStream.json @@ -0,0 +1,14 @@ +{ + "title": "Analyze the input image of incoming request without deployment. The request either contains an image stream\r\nwith any content type ['image/*', '\"application/octet-stream'], or a JSON payload which includes a url\r\nproperty to be used to retrieve the image stream. An image stream of content type 'image/png' is returned,\r\nwhere the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image\r\nfor modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image\r\nup to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "Segment", + "parameters": { + "mode": "foregroundMatting", + "api-version": "2023-04-01-preview", + "body": "Ynl0ZXM=" + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageUrl.json b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageUrl.json new file mode 100644 index 000000000000..8e8bae1966d9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/UnifiedVision/preview/2023-04-01-preview/examples/Segment_ForegroundMatting_FromImageUrl.json @@ -0,0 +1,16 @@ +{ + "title": "Analyze the input image of incoming request without deployment. The request either contains an image stream\r\nwith any content type ['image/*', '\"application/octet-stream'], or a JSON payload which includes a url\r\nproperty to be used to retrieve the image stream. An image stream of content type 'image/png' is returned,\r\nwhere the pixel values depend on the analysis mode. The returned image has the same dimensions as the input image\r\nfor modes: foregroundMatting. The returned image has the same aspect ratio and same dimensions as the input image\r\nup to a limit of 16 megapixels for modes: backgroundRemoval.", + "operationId": "Segment", + "parameters": { + "mode": "foregroundMatting", + "api-version": "2023-04-01-preview", + "body": { + "url": "{image url}" + } + }, + "responses": { + "200": { + "body": "Ynl0ZXM=" + } + } +} diff --git a/specification/cognitiveservices/data-plane/UnifiedVision/readme.md b/specification/cognitiveservices/data-plane/UnifiedVision/readme.md index 67fce92e5623..816b4c389528 100644 --- a/specification/cognitiveservices/data-plane/UnifiedVision/readme.md +++ b/specification/cognitiveservices/data-plane/UnifiedVision/readme.md @@ -2,11 +2,11 @@ > see https://aka.ms/autorest -The current release is `2023-02-01-preview` +The current release is `2023-04-01-preview` ``` yaml -tag: 2023-02-01-preview +tag: 2023-04-01-preview openapi-type: data-plane add-credentials: true ``` @@ -18,3 +18,10 @@ These settings apply only when `--tag=2023-02-01-preview` is specified on the co ``` yaml $(tag) == '2023-02-01-preview' input-file: preview/2023-02-01-preview/UnifiedVision.json ``` + +### 2023-04-01-preview +These settings apply only when `--tag=2023-04-01-preview` is specified on the command line. + +``` yaml $(tag) == '2023-04-01-preview' +input-file: preview/2023-04-01-preview/UnifiedVision.json +``` \ No newline at end of file diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/communicationservicescallautomation.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/communicationservicescallautomation.json new file mode 100644 index 000000000000..8d6e5b0ad3be --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/communicationservicescallautomation.json @@ -0,0 +1,2780 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-15-preview", + "title": "Azure Communication Service Call Automation APIs", + "description": "Azure Communication Service Call Automation APIs" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/calling/callConnections": { + "post": { + "tags": [ + "PreConnections" + ], + "summary": "Create an outbound call.", + "description": "Create an outbound call.", + "operationId": "CreateCall", + "parameters": [ + { + "name": "createCallRequest", + "in": "body", + "description": "The create call request.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateCallRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "201": { + "description": "Returns details of the call properties once the CreateCall request is received by service. You will receive CallConnected event at your specified callback URI, once the call is connected.", + "schema": { + "$ref": "#/definitions/CallConnectionProperties" + } + } + }, + "x-ms-examples": { + "CreateCall": { + "$ref": "./examples/CreateCall.json" + } + } + } + }, + "/calling/callConnections:answer": { + "post": { + "tags": [ + "PreConnections" + ], + "summary": "Answer a Call.", + "description": "Answer a call using the IncomingCallContext from Event Grid.", + "operationId": "AnswerCall", + "parameters": [ + { + "name": "answerCallRequest", + "in": "body", + "description": "The answer call request.", + "required": true, + "schema": { + "$ref": "#/definitions/AnswerCallRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns details of the call properties once the AnswerCall request is received by service. You will receive CallConnected event at your specified callback URI, once the call is connected.", + "schema": { + "$ref": "#/definitions/CallConnectionProperties" + } + } + }, + "x-ms-examples": { + "AnswerCall": { + "$ref": "./examples/AnswerCall.json" + } + } + } + }, + "/calling/callConnections:redirect": { + "post": { + "tags": [ + "PreConnections" + ], + "summary": "Redirect a call.", + "description": "Redirect a call.", + "operationId": "RedirectCall", + "parameters": [ + { + "name": "redirectCallRequest", + "in": "body", + "description": "The redirect call request.", + "required": true, + "schema": { + "$ref": "#/definitions/RedirectCallRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "The service has redirected the call to specified endpoint." + } + }, + "x-ms-examples": { + "RedirectCall": { + "$ref": "./examples/RedirectCall.json" + } + } + } + }, + "/calling/callConnections:reject": { + "post": { + "tags": [ + "PreConnections" + ], + "summary": "Reject the call.", + "description": "Reject the call.", + "operationId": "RejectCall", + "parameters": [ + { + "name": "rejectCallRequest", + "in": "body", + "description": "The reject call request.", + "required": true, + "schema": { + "$ref": "#/definitions/RejectCallRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "The service has rejected the call." + } + }, + "x-ms-examples": { + "RejectCall": { + "$ref": "./examples/RejectCall.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}": { + "get": { + "tags": [ + "MidConnections" + ], + "summary": "Get the detail properties of an ongoing call.", + "operationId": "CallConnection_GetCall", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns details of the call properties.", + "schema": { + "$ref": "#/definitions/CallConnectionProperties" + } + } + }, + "x-ms-examples": { + "CallConnection_GetCall": { + "$ref": "./examples/CallConnection_GetCall.json" + } + } + }, + "delete": { + "tags": [ + "MidConnections" + ], + "summary": "Hang up call automation service from the call. This will make call automation service leave the call, but does not terminate if there are more than 1 caller in the call.", + "description": "Hang up call automation service from the call. This will make call automation service leave the call, but does not terminate if there are more than 1 caller in the call.", + "operationId": "CallConnection_HangupCall", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "Call automation service has left the call." + } + }, + "x-ms-examples": { + "CallConnection_HangupCall": { + "$ref": "./examples/CallConnection_HangupCall.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:terminate": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Terminate a call using CallConnectionId.", + "description": "Terminate a call using CallConnectionId.", + "operationId": "CallConnection_TerminateCall", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The terminate call request.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "The call is terminated." + } + }, + "x-ms-examples": { + "CallConnection_TerminateCall": { + "$ref": "./examples/CallConnection_TerminateCall.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:transferToParticipant": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Transfer the call to a participant.", + "description": "Transfer the call to a participant.", + "operationId": "CallConnection_TransferToParticipant", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "name": "transferToParticipantRequest", + "in": "body", + "description": "The transfer to participant request.", + "required": true, + "schema": { + "$ref": "#/definitions/TransferToParticipantRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the transfer request and will begin processing it. You will receive either CallTransferAccepted or CallTransferFailed event at your specified callback URI to update you on the status of the request.", + "schema": { + "$ref": "#/definitions/TransferCallResponse" + } + } + }, + "x-ms-examples": { + "CallConnection_TransferToParticipant": { + "$ref": "./examples/CallConnection_TransferToParticipant.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:play": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Plays audio to participants in the call.", + "description": "Plays audio to participants in the call.", + "operationId": "CallMedia_Play", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "name": "playRequest", + "in": "body", + "description": "play request payload.", + "required": true, + "schema": { + "$ref": "#/definitions/PlayRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the play request and will begin processing it. You will receive either PlayCompleted or PlayFailed event at your specified callback URI to update you on the status of the request." + } + }, + "x-ms-examples": { + "CallMedia_Play": { + "$ref": "./examples/CallMedia_Play.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:cancelAllMediaOperations": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Cancel all media operations in a call.", + "description": "Cancel all media operations in a call.", + "operationId": "CallMedia_CancelAllMediaOperations", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the cancel request and will begin processing it. RecognizeCanceled and/or PlayCanceled at your specified callback URI to update you on the status of the request, based on which media operation has been canceled by it." + } + }, + "x-ms-examples": { + "CallMedia_CancelAllMediaOperations": { + "$ref": "./examples/CallMedia_CancelAllMediaOperations.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:recognize": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Recognize media from call.", + "description": "Recognize media from call.", + "operationId": "CallMedia_Recognize", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id", + "required": true, + "type": "string" + }, + { + "name": "recognizeRequest", + "in": "body", + "description": "The media recognize request", + "required": true, + "schema": { + "$ref": "#/definitions/RecognizeRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the recognize request and will begin processing it. You will receive either RecognizeCompleted or RecognizeFailed event at your specified callback URI to update you on the status of the request." + } + }, + "x-ms-examples": { + "CallMedia_Recognize": { + "$ref": "./examples/CallMedia_Recognize.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:startContinuousDtmfRecognition": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Start continuous Dtmf recognition by subscribing to tones.", + "operationId": "CallMedia_StartContinuousDtmfRecognition", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id", + "required": true, + "type": "string" + }, + { + "name": "continuousDtmfRecognitionRequest", + "in": "body", + "description": "The continuous recognize request", + "required": true, + "schema": { + "$ref": "#/definitions/ContinuousDtmfRecognitionRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "The service has accepted the start continuous recognize request and will begin processing it. You will receive events at your specified callback URI to update you on the status of the request." + } + }, + "x-ms-examples": { + "CallMedia_StartContinuousDtmfRecognition": { + "$ref": "./examples/CallMedia_StartContinuousDtmfRecognition.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:stopContinuousDtmfRecognition": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Stop continuous Dtmf recognition by unsubscribing to tones.", + "operationId": "CallMedia_StopContinuousDtmfRecognition", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id", + "required": true, + "type": "string" + }, + { + "name": "continuousDtmfRecognitionRequest", + "in": "body", + "description": "The continuous recognize request", + "required": true, + "schema": { + "$ref": "#/definitions/ContinuousDtmfRecognitionRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "The service has accepted the stop continuous recognize request and will begin processing it. You will receive events at your specified callback URI to update you on the status of the request." + } + }, + "x-ms-examples": { + "CallMedia_StopContinuousDtmfRecognition": { + "$ref": "./examples/CallMedia_StopContinuousDtmfRecognition.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}:sendDtmfTones": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Send dtmf tones.", + "description": "Send dtmf tones.", + "operationId": "CallMedia_SendDtmfTones", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id", + "required": true, + "type": "string" + }, + { + "name": "sendDtmfTonesRequest", + "in": "body", + "description": "The send dtmf tones request", + "required": true, + "schema": { + "$ref": "#/definitions/SendDtmfTonesRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "Returns the send dtmf tones response", + "schema": { + "$ref": "#/definitions/SendDtmfTonesResult" + } + } + }, + "x-ms-examples": { + "CallMedia_SendDtmfTones": { + "$ref": "./examples/CallMedia_SendDtmfTones.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}/participants": { + "get": { + "tags": [ + "MidConnections" + ], + "summary": "Get participants from a call.", + "description": "Get participants from a call.", + "operationId": "CallConnection_GetParticipants", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection Id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns the get participants response.", + "schema": { + "$ref": "#/definitions/GetParticipantsResponse" + } + } + }, + "x-ms-examples": { + "CallConnection_GetParticipants": { + "$ref": "./examples/CallConnection_GetParticipants.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + } + } + }, + "/calling/callConnections/{callConnectionId}/participants:add": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Add a participant to the call.", + "description": "Add a participant to the call.", + "operationId": "CallConnection_AddParticipant", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection Id", + "required": true, + "type": "string" + }, + { + "name": "addParticipantRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AddParticipantRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the add participant request and will begin processing it. You will receive either AddParticipantSucceeded or AddParticipantFailed event at your specified callback URI to update you on the status of the request.", + "schema": { + "$ref": "#/definitions/AddParticipantResponse" + } + } + }, + "x-ms-examples": { + "CallConnection_AddParticipant": { + "$ref": "./examples/CallConnection_AddParticipant.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}/participants:remove": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Remove a participant from the call using identifier.", + "description": "Remove a participant from the call using identifier.", + "operationId": "CallConnection_RemoveParticipant", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "name": "removeParticipantRequest", + "in": "body", + "description": "The participant to be removed from the call.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveParticipantRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the remove participant request and will begin processing it. You will receive either RemoveParticipantSucceeded or RemoveParticipantFailed event at your specified callback URI to update you on the status of the request.", + "schema": { + "$ref": "#/definitions/RemoveParticipantResponse" + } + } + }, + "x-ms-examples": { + "CallConnection_RemoveParticipant": { + "$ref": "./examples/CallConnection_RemoveParticipant.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}/participants:mute": { + "post": { + "tags": [ + "MidConnections" + ], + "summary": "Mute participants from the call using identifier.", + "description": "Mute participants from the call using identifier.", + "operationId": "CallConnection_Mute", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection id.", + "required": true, + "type": "string" + }, + { + "name": "muteParticipantsRequest", + "in": "body", + "description": "The participants to be muted from the call.", + "required": true, + "schema": { + "$ref": "#/definitions/MuteParticipantsRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "Returns the mute participants response", + "schema": { + "$ref": "#/definitions/MuteParticipantsResult" + } + } + }, + "x-ms-examples": { + "CallConnection_Mute": { + "$ref": "./examples/CallConnection_Mute.json" + } + } + } + }, + "/calling/callConnections/{callConnectionId}/participants/{participantRawId}": { + "get": { + "tags": [ + "MidConnections" + ], + "summary": "Get participant from a call.", + "description": "Get participant from a call.", + "operationId": "CallConnection_GetParticipant", + "parameters": [ + { + "name": "callConnectionId", + "in": "path", + "description": "The call connection Id", + "required": true, + "type": "string" + }, + { + "name": "participantRawId", + "in": "path", + "description": "Raw id of the participant to retrieve.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns the detail of the requested participant.", + "schema": { + "$ref": "#/definitions/CallParticipant" + } + } + }, + "x-ms-examples": { + "CallConnection_GetParticipant": { + "$ref": "./examples/CallConnection_GetParticipant.json" + } + } + } + }, + "/calling/recordings": { + "post": { + "tags": [ + "Recording" + ], + "summary": "Start recording the call.", + "operationId": "CallRecording_StartRecording", + "parameters": [ + { + "name": "startCallRecording", + "in": "body", + "description": "The request body of start call recording request.", + "required": true, + "schema": { + "$ref": "#/definitions/StartCallRecordingRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "Repeatability-Request-ID", + "in": "header", + "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID.", + "type": "string", + "format": "uuid" + }, + { + "name": "Repeatability-First-Sent", + "in": "header", + "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT.", + "type": "string", + "format": "date-time-rfc1123" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns the start call recording response.", + "schema": { + "$ref": "#/definitions/RecordingStateResponse" + } + } + }, + "x-ms-examples": { + "CallRecording_StartRecording": { + "$ref": "./examples/CallRecording_StartRecording.json" + } + } + } + }, + "/calling/recordings/{recordingId}": { + "get": { + "tags": [ + "Recording" + ], + "summary": "Get call recording properties.", + "operationId": "CallRecording_GetRecordingProperties", + "parameters": [ + { + "name": "recordingId", + "in": "path", + "description": "The recording id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Returns the recording properties.", + "schema": { + "$ref": "#/definitions/RecordingStateResponse" + } + } + }, + "x-ms-examples": { + "CallRecording_GetRecordingProperties": { + "$ref": "./examples/CallRecording_GetRecordingProperties.json" + } + } + }, + "delete": { + "tags": [ + "Recording" + ], + "summary": "Stop recording the call.", + "operationId": "CallRecording_StopRecording", + "parameters": [ + { + "name": "recordingId", + "in": "path", + "description": "The recording id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "Returns the stop call recording response." + } + }, + "x-ms-examples": { + "CallRecording_StopRecording": { + "$ref": "./examples/CallRecording_StopRecording.json" + } + } + } + }, + "/calling/recordings/{recordingId}:pause": { + "post": { + "tags": [ + "Recording" + ], + "summary": "Pause recording the call.", + "operationId": "CallRecording_PauseRecording", + "parameters": [ + { + "name": "recordingId", + "in": "path", + "description": "The recording id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the pause request and will begin processing it." + } + }, + "x-ms-examples": { + "CallRecording_PauseRecording": { + "$ref": "./examples/CallRecording_PauseRecording.json" + } + } + } + }, + "/calling/recordings/{recordingId}:resume": { + "post": { + "tags": [ + "Recording" + ], + "summary": "Resume recording the call.", + "operationId": "CallRecording_ResumeRecording", + "parameters": [ + { + "name": "recordingId", + "in": "path", + "description": "The recording id.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } + }, + "202": { + "description": "The service has accepted the resume request and will begin processing it." + } + }, + "x-ms-examples": { + "CallRecording_ResumeRecording": { + "$ref": "./examples/CallRecording_ResumeRecording.json" + } + } + } + } + }, + "definitions": { + "CreateCallRequest": { + "description": "The request payload for creating the call.", + "required": [ + "targets", + "callbackUri" + ], + "type": "object", + "properties": { + "targets": { + "description": "The targets of the call.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentifierModel" + } + }, + "sourceCallerIdNumber": { + "$ref": "#/definitions/PhoneNumberIdentifierModel", + "description": "The source caller Id, a phone number, that's shown to the PSTN participant being invited.\r\nRequired only when calling a PSTN callee." + }, + "sourceDisplayName": { + "description": "Display name of the call if dialing out to a pstn number", + "type": "string" + }, + "source": { + "$ref": "#/definitions/CommunicationUserIdentifierModel", + "description": "The identifier of the source of the call" + }, + "operationContext": { + "description": "A customer set value used to track the answering of a call.", + "type": "string" + }, + "callbackUri": { + "description": "The callback URI.", + "type": "string" + }, + "cognitiveServicesEndpoint": { + "description": "The identifier of the Cognitive Service resource assigned to this call.", + "type": "string" + } + } + }, + "CommunicationIdentifierModel": { + "$ref": "../../../Common/stable/2022-07-13/common.json#/definitions/CommunicationIdentifierModel" + }, + "PhoneNumberIdentifierModel": { + "$ref": "../../../Common/stable/2022-07-13/common.json#/definitions/PhoneNumberIdentifierModel" + }, + "CommunicationUserIdentifierModel": { + "$ref": "../../../Common/stable/2022-07-13/common.json#/definitions/CommunicationUserIdentifierModel" + }, + "CommunicationErrorResponse": { + "$ref": "../../../Common/stable/2022-07-13/common.json#/definitions/CommunicationErrorResponse" + }, + "CallConnectionStateModel": { + "description": "The state of the call connection.", + "enum": [ + "unknown", + "connecting", + "connected", + "transferring", + "transferAccepted", + "disconnecting", + "disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "CallConnectionStateModel", + "modelAsString": true + } + }, + "CallConnectionProperties": { + "description": "Properties of a call connection", + "type": "object", + "properties": { + "callConnectionId": { + "description": "The call connection id.", + "type": "string" + }, + "serverCallId": { + "description": "The server call id.", + "type": "string" + }, + "targets": { + "description": "The targets of the call.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentifierModel" + } + }, + "callConnectionState": { + "$ref": "#/definitions/CallConnectionStateModel" + }, + "callbackUri": { + "description": "The callback URI.", + "type": "string" + }, + "sourceCallerIdNumber": { + "$ref": "#/definitions/PhoneNumberIdentifierModel", + "description": "The source caller Id, a phone number, that's shown to the PSTN participant being invited.\r\nRequired only when calling a PSTN callee." + }, + "sourceDisplayName": { + "description": "Display name of the call if dialing out to a pstn number.", + "type": "string" + }, + "source": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Source identity." + }, + "correlationId": { + "description": "The correlation ID.", + "type": "string" + }, + "answeredBy": { + "$ref": "#/definitions/CommunicationUserIdentifierModel", + "description": "Identity of the answering entity. Only populated when identity is provided in the request." + } + } + }, + "AnswerCallRequest": { + "description": "The request payload for answering the call.", + "required": [ + "incomingCallContext", + "callbackUri" + ], + "type": "object", + "properties": { + "incomingCallContext": { + "description": "The context associated with the call.", + "type": "string" + }, + "callbackUri": { + "description": "The callback uri.", + "type": "string" + }, + "operationContext": { + "description": "A customer set value used to track the answering of a call.", + "type": "string" + }, + "cognitiveServicesEndpoint": { + "description": "The endpoint URL of the Azure Cognitive Services resource attached", + "type": "string" + }, + "answeredBy": { + "$ref": "#/definitions/CommunicationUserIdentifierModel", + "description": "The identifier of the call automation entity which answers the call" + } + } + }, + "RedirectCallRequest": { + "description": "The request payload for redirecting the call.", + "required": [ + "incomingCallContext", + "target" + ], + "type": "object", + "properties": { + "incomingCallContext": { + "description": "The context associated with the call.", + "type": "string" + }, + "target": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "The target identity to redirect the call to." + } + } + }, + "CallRejectReason": { + "description": "The rejection reason.", + "enum": [ + "none", + "busy", + "forbidden" + ], + "type": "string", + "x-ms-enum": { + "name": "CallRejectReason", + "modelAsString": true + } + }, + "RejectCallRequest": { + "description": "The request payload for rejecting the call.", + "required": [ + "incomingCallContext" + ], + "type": "object", + "properties": { + "incomingCallContext": { + "description": "The context associated with the call.", + "type": "string" + }, + "callRejectReason": { + "$ref": "#/definitions/CallRejectReason" + } + } + }, + "TransferToParticipantRequest": { + "description": "The request payload for transferring call to a participant.", + "required": [ + "targetParticipant" + ], + "type": "object", + "properties": { + "targetParticipant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "The identity of the target where call should be transferred to." + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "TransferCallResponse": { + "description": "The response payload for transferring the call.", + "type": "object", + "properties": { + "operationContext": { + "description": "The operation context provided by client.", + "type": "string" + } + } + }, + "PlayRequest": { + "required": [ + "playSources" + ], + "type": "object", + "properties": { + "playSources": { + "description": "The source of the audio to be played.", + "type": "array", + "items": { + "$ref": "#/definitions/PlaySource" + } + }, + "playTo": { + "description": "The list of call participants play provided audio to.\r\nPlays to everyone in the call when not provided.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentifierModel" + } + }, + "playOptions": { + "$ref": "#/definitions/PlayOptions", + "description": "Defines options for playing the audio." + }, + "operationContext": { + "description": "The value to identify context of the operation.", + "type": "string" + } + } + }, + "PlaySourceType": { + "description": "Defines the type of the play source", + "enum": [ + "file", + "text", + "ssml" + ], + "type": "string", + "x-ms-enum": { + "name": "PlaySourceType", + "modelAsString": true + } + }, + "PlaySource": { + "required": [ + "kind" + ], + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/PlaySourceType" + }, + "playSourceCacheId": { + "description": "Defines the identifier to be used for caching related media", + "type": "string" + }, + "file": { + "$ref": "#/definitions/FileSource", + "description": "Defines the file source info to be used for play" + }, + "text": { + "$ref": "#/definitions/TextSource", + "description": "Defines the text source info to be used for play" + }, + "ssml": { + "$ref": "#/definitions/SsmlSource", + "description": "Defines the ssml(Speech Synthesis Markup Language) source info to be used for play" + } + } + }, + "PlayOptions": { + "required": [ + "loop" + ], + "type": "object", + "properties": { + "loop": { + "description": "The option to play the provided audio source in loop when set to true", + "type": "boolean" + } + } + }, + "FileSource": { + "required": [ + "uri" + ], + "type": "object", + "properties": { + "uri": { + "description": "Uri for the audio file to be played", + "type": "string" + } + } + }, + "VoiceKind": { + "description": "Voice kind type", + "enum": [ + "male", + "female" + ], + "type": "string", + "x-ms-enum": { + "name": "VoiceKind", + "modelAsString": true + } + }, + "TextSource": { + "required": [ + "text" + ], + "type": "object", + "properties": { + "text": { + "description": "Text for the cognitive service to be played", + "type": "string" + }, + "sourceLocale": { + "description": "Source language locale to be played\r\nRefer to available locales here: ", + "type": "string" + }, + "voiceKind": { + "$ref": "#/definitions/VoiceKind" + }, + "voiceName": { + "description": "Voice name to be played\r\nRefer to available Text-to-speech voices here: ", + "type": "string" + }, + "customVoiceEndpointId": { + "description": "Endpoint where the custom voice was deployed.", + "type": "string" + } + } + }, + "SsmlSource": { + "required": [ + "ssmlText" + ], + "type": "object", + "properties": { + "ssmlText": { + "description": "Ssml string for the cognitive service to be played", + "type": "string" + }, + "customVoiceEndpointId": { + "description": "Endpoint where the custom voice was deployed.", + "type": "string" + } + } + }, + "RecognizeInputType": { + "description": "Determines the type of the recognition.", + "enum": [ + "dtmf", + "speech", + "speechOrDtmf", + "choices" + ], + "type": "string", + "x-ms-enum": { + "name": "RecognizeInputType", + "modelAsString": true + } + }, + "RecognizeRequest": { + "required": [ + "recognizeInputType", + "recognizeOptions" + ], + "type": "object", + "properties": { + "recognizeInputType": { + "$ref": "#/definitions/RecognizeInputType" + }, + "playPrompt": { + "$ref": "#/definitions/PlaySource", + "description": "The source of the audio to be played for recognition." + }, + "interruptCallMediaOperation": { + "description": "If set recognize can barge into other existing queued-up/currently-processing requests.", + "type": "boolean" + }, + "recognizeOptions": { + "$ref": "#/definitions/RecognizeOptions", + "description": "Defines options for recognition." + }, + "operationContext": { + "description": "The value to identify context of the operation.", + "type": "string" + } + } + }, + "RecognizeOptions": { + "required": [ + "targetParticipant" + ], + "type": "object", + "properties": { + "interruptPrompt": { + "description": "Determines if we interrupt the prompt and start recognizing.", + "type": "boolean" + }, + "initialSilenceTimeoutInSeconds": { + "format": "int32", + "description": "Time to wait for first input after prompt (if any).", + "maximum": 300, + "minimum": 0, + "type": "integer" + }, + "targetParticipant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Target participant of DTMF tone recognition." + }, + "speechLanguage": { + "description": "Speech language to be recognized, If not set default is en-US", + "type": "string" + }, + "speechRecognitionModelEndpointId": { + "description": "Endpoint where the custom model was deployed.", + "type": "string" + }, + "dtmfOptions": { + "$ref": "#/definitions/DtmfOptions", + "description": "Defines configurations for DTMF." + }, + "choices": { + "description": "Defines Ivr choices for recognize.", + "type": "array", + "items": { + "$ref": "#/definitions/Choice" + } + }, + "speechOptions": { + "$ref": "#/definitions/SpeechOptions", + "description": "Defines continuous speech recognition option." + } + } + }, + "Tone": { + "enum": [ + "zero", + "one", + "two", + "three", + "four", + "five", + "six", + "seven", + "eight", + "nine", + "a", + "b", + "c", + "d", + "pound", + "asterisk" + ], + "type": "string", + "x-ms-enum": { + "name": "Tone", + "modelAsString": true + } + }, + "DtmfOptions": { + "description": "Options for DTMF recognition", + "type": "object", + "properties": { + "interToneTimeoutInSeconds": { + "format": "int32", + "description": "Time to wait between DTMF inputs to stop recognizing.", + "maximum": 60, + "minimum": 1, + "type": "integer" + }, + "maxTonesToCollect": { + "format": "int32", + "description": "Maximum number of DTMF tones to be collected.", + "type": "integer" + }, + "stopTones": { + "description": "List of tones that will stop recognizing.", + "type": "array", + "items": { + "$ref": "#/definitions/Tone" + } + } + } + }, + "Choice": { + "required": [ + "label", + "phrases" + ], + "type": "object", + "properties": { + "label": { + "description": "Identifier for a given choice", + "type": "string" + }, + "phrases": { + "description": "List of phrases to recognize", + "type": "array", + "items": { + "type": "string" + } + }, + "tone": { + "$ref": "#/definitions/Tone" + } + } + }, + "SpeechOptions": { + "description": "Options for continuous speech recognition", + "type": "object", + "properties": { + "endSilenceTimeoutInMs": { + "format": "int64", + "description": "The length of end silence when user stops speaking and cogservice send response.", + "type": "integer" + } + } + }, + "ContinuousDtmfRecognitionRequest": { + "required": [ + "targetParticipant" + ], + "type": "object", + "properties": { + "targetParticipant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Defines options for recognition." + }, + "operationContext": { + "description": "The value to identify context of the operation.", + "type": "string" + } + } + }, + "SendDtmfTonesRequest": { + "required": [ + "tones", + "targetParticipant" + ], + "type": "object", + "properties": { + "tones": { + "description": "List of tones to be sent to target participant.", + "type": "array", + "items": { + "$ref": "#/definitions/Tone" + } + }, + "targetParticipant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Target participant of send Dtmf tones." + }, + "operationContext": { + "description": "The value to identify context of the operation.", + "type": "string" + } + } + }, + "SendDtmfTonesResult": { + "type": "object", + "properties": { + "operationContext": { + "description": "The operation context provided by client.", + "type": "string" + } + } + }, + "GetParticipantsResponse": { + "description": "The response payload for getting participants of the call.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "List of the current participants in the call.", + "type": "array", + "items": { + "$ref": "#/definitions/CallParticipant" + } + }, + "nextLink": { + "description": "Continue of the list of participants", + "type": "string" + } + } + }, + "CallParticipant": { + "description": "A call participant.", + "type": "object", + "properties": { + "identifier": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Communication identifier of the participant" + }, + "isMuted": { + "description": "Is participant muted", + "type": "boolean" + } + } + }, + "AddParticipantRequest": { + "description": "The request payload for adding participant to the call.", + "required": [ + "participantToAdd" + ], + "type": "object", + "properties": { + "sourceCallerIdNumber": { + "$ref": "#/definitions/PhoneNumberIdentifierModel", + "description": "The source caller Id, a phone number, that's shown to the PSTN participant being invited.\r\nRequired only when inviting a PSTN participant." + }, + "sourceDisplayName": { + "description": "(Optional) The display name of the source that is associated with this invite operation when\r\nadding a PSTN participant or teams user. Note: Will not update the display name in the roster.", + "type": "string" + }, + "participantToAdd": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "The participant to invite." + }, + "invitationTimeoutInSeconds": { + "format": "int32", + "description": "Gets or sets the timeout to wait for the invited participant to pickup.\r\nThe maximum value of this is 180 seconds", + "maximum": 180, + "minimum": 0, + "type": "integer" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "AddParticipantResponse": { + "description": "The response payload for adding participants to the call.", + "type": "object", + "properties": { + "participant": { + "$ref": "#/definitions/CallParticipant", + "description": "List of current participants in the call." + }, + "operationContext": { + "description": "The operation context provided by client.", + "type": "string" + } + } + }, + "RemoveParticipantRequest": { + "description": "The remove participant by identifier request.", + "required": [ + "participantToRemove" + ], + "type": "object", + "properties": { + "participantToRemove": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "The participants to be removed from the call." + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "RemoveParticipantResponse": { + "description": "The response payload for removing participants of the call.", + "type": "object", + "properties": { + "operationContext": { + "description": "The operation context provided by client.", + "type": "string" + } + } + }, + "MuteParticipantsRequest": { + "description": "The request payload for muting participants from the call.", + "required": [ + "targetParticipants" + ], + "type": "object", + "properties": { + "targetParticipants": { + "description": "Participants to be muted from the call.\r\nOnly ACS Users are supported.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentifierModel" + } + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "MuteParticipantsResult": { + "description": "The result payload for muting participants from the call.", + "type": "object", + "properties": { + "operationContext": { + "description": "The operation context provided by client.", + "type": "string" + } + } + }, + "RecordingContentType": { + "description": "The content type of call recording.", + "enum": [ + "audio", + "audioVideo" + ], + "type": "string", + "x-ms-enum": { + "name": "RecordingContentType", + "modelAsString": true + } + }, + "RecordingChannelType": { + "description": "The channel type of call recording.", + "enum": [ + "mixed", + "unmixed" + ], + "type": "string", + "x-ms-enum": { + "name": "RecordingChannelType", + "modelAsString": true + } + }, + "RecordingFormatType": { + "description": "The format type of call recording.", + "enum": [ + "wav", + "mp3", + "mp4" + ], + "type": "string", + "x-ms-enum": { + "name": "RecordingFormatType", + "modelAsString": true + } + }, + "StartCallRecordingRequest": { + "description": "The request payload start for call recording operation with call locator.", + "required": [ + "callLocator" + ], + "type": "object", + "properties": { + "callLocator": { + "$ref": "#/definitions/CallLocator", + "description": "The call locator." + }, + "recordingStateCallbackUri": { + "description": "The uri to send notifications to.", + "type": "string" + }, + "recordingContentType": { + "$ref": "#/definitions/RecordingContentType" + }, + "recordingChannelType": { + "$ref": "#/definitions/RecordingChannelType" + }, + "recordingFormatType": { + "$ref": "#/definitions/RecordingFormatType" + }, + "audioChannelParticipantOrdering": { + "description": "The sequential order in which audio channels are assigned to participants in the unmixed recording.\r\nWhen 'recordingChannelType' is set to 'unmixed' and `audioChannelParticipantOrdering is not specified,\r\nthe audio channel to participant mapping will be automatically assigned based on the order in which participant\r\nfirst audio was detected. Channel to participant mapping details can be found in the metadata of the recording.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentifierModel" + } + }, + "channelAffinity": { + "description": "The channel affinity of call recording\r\nWhen 'recordingChannelType' is set to 'unmixed', if channelAffinity is not specified, 'channel' will be automatically assigned.\r\nChannel-Participant mapping details can be found in the metadata of the recording.\r\n///", + "type": "array", + "items": { + "$ref": "#/definitions/ChannelAffinity" + } + } + } + }, + "CallLocatorKind": { + "description": "The call locator kind.", + "enum": [ + "groupCallLocator", + "serverCallLocator" + ], + "type": "string", + "x-ms-enum": { + "name": "CallLocatorKind", + "modelAsString": true + } + }, + "CallLocator": { + "description": "The locator used for joining or taking action on a call.", + "type": "object", + "properties": { + "groupCallId": { + "description": "The group call id", + "type": "string" + }, + "serverCallId": { + "description": "The server call id.", + "type": "string" + }, + "kind": { + "$ref": "#/definitions/CallLocatorKind" + } + } + }, + "ChannelAffinity": { + "description": "Channel affinity for a participant", + "required": [ + "participant" + ], + "type": "object", + "properties": { + "channel": { + "format": "int32", + "description": "Channel number to which bitstream from a particular participant will be written.", + "maximum": 4, + "minimum": 0, + "type": "integer" + }, + "participant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "The identifier for the participant whose bitstream will be written to the channel \r\nrepresented by the channel number." + } + } + }, + "RecordingState": { + "enum": [ + "active", + "inactive" + ], + "type": "string", + "x-ms-enum": { + "name": "RecordingState", + "modelAsString": true + } + }, + "RecordingStateResponse": { + "type": "object", + "properties": { + "recordingId": { + "type": "string" + }, + "recordingState": { + "$ref": "#/definitions/RecordingState" + } + } + }, + "AddParticipantFailed": { + "description": "The failed to add participants event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "participant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Participant" + } + } + }, + "ResultInformation": { + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Code of the current result. This can be helpful to Call Automation team to troubleshoot the issue if this result was unexpected.", + "type": "integer" + }, + "subCode": { + "format": "int32", + "description": "Subcode of the current result. This can be helpful to Call Automation team to troubleshoot the issue if this result was unexpected.", + "type": "integer" + }, + "message": { + "description": "Detail message that describes the current result.", + "type": "string" + } + } + }, + "AddParticipantSucceeded": { + "description": "The participants successfully added event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "participant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Participant" + } + } + }, + "CallConnected": { + "description": "The call connected event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers to set the context for creating a new call. This property will be null for answering a call.", + "type": "string" + } + } + }, + "CallDisconnected": { + "description": "The call disconnected event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers to set the context for creating a new call. This property will be null for answering a call.", + "type": "string" + } + } + }, + "CallTransferAccepted": { + "description": "The call transfer accepted event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "CallTransferFailed": { + "description": "The call transfer failed event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "ParticipantsUpdated": { + "description": "The participants updated in a call event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "sequenceNumber": { + "format": "int32", + "description": "The Sequence Number of the event", + "type": "integer" + }, + "participants": { + "description": "The list of participants in the call.", + "type": "array", + "items": { + "$ref": "#/definitions/CallParticipant" + } + } + } + }, + "RemoveParticipantSucceeded": { + "description": "The participant removed event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "participant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Participant" + } + } + }, + "RemoveParticipantFailed": { + "description": "The failed to remove participant event.", + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId for skype chain ID.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "participant": { + "$ref": "#/definitions/CommunicationIdentifierModel", + "description": "Participant" + } + } + }, + "RecordingStateChanged": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "recordingId": { + "description": "The call recording id", + "type": "string", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/RecordingState" + }, + "startDateTime": { + "format": "date-time", + "description": "The time of the recording started", + "type": "string", + "readOnly": true + } + } + }, + "PlayCompleted": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "PlayFailed": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "PlayCanceled": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "RecognitionType": { + "description": "Determines the sub-type of the recognize operation.\r\nIn case of cancel operation the this field is not set and is returned empty", + "enum": [ + "dtmf", + "speech", + "choices" + ], + "type": "string", + "x-ms-enum": { + "name": "RecognitionType", + "modelAsString": true + } + }, + "RecognizeCompleted": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "recognitionType": { + "$ref": "#/definitions/RecognitionType" + }, + "dtmfResult": { + "$ref": "#/definitions/DtmfResult", + "description": "Defines the result for RecognitionType = Dtmf" + }, + "choiceResult": { + "$ref": "#/definitions/ChoiceResult", + "description": "Defines the result for RecognitionType = Choices" + }, + "speechResult": { + "$ref": "#/definitions/SpeechResult", + "description": "Defines the result for RecognitionType = Speech and SpeechOrDtmf", + "readOnly": true + } + } + }, + "DtmfResult": { + "type": "object", + "properties": { + "tones": { + "type": "array", + "items": { + "$ref": "#/definitions/Tone" + }, + "readOnly": true + } + } + }, + "ChoiceResult": { + "type": "object", + "properties": { + "label": { + "description": "Label is the primary identifier for the choice detected", + "type": "string" + }, + "recognizedPhrase": { + "description": "Phrases are set to the value if choice is selected via phrase detection.\r\nIf Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null", + "type": "string" + } + } + }, + "SpeechResult": { + "description": "The speech status as a result.", + "type": "object", + "properties": { + "speech": { + "description": "The recognized speech in string.", + "type": "string" + } + } + }, + "RecognizeFailed": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "RecognizeCanceled": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "ContinuousDtmfRecognitionToneFailed": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "ContinuousDtmfRecognitionToneReceived": { + "type": "object", + "properties": { + "toneInfo": { + "$ref": "#/definitions/ToneInfo", + "description": "Information about Tone." + }, + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation. Also called ChainId or skype chain ID.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + } + } + }, + "ToneInfo": { + "description": "The information about the tone.", + "required": [ + "sequenceId", + "tone" + ], + "type": "object", + "properties": { + "sequenceId": { + "format": "int32", + "description": "The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.", + "type": "integer" + }, + "tone": { + "$ref": "#/definitions/Tone" + } + } + }, + "ContinuousDtmfRecognitionStopped": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "SendDtmfTonesCompleted": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + }, + "SendDtmfTonesFailed": { + "type": "object", + "properties": { + "callConnectionId": { + "description": "Call connection ID.", + "type": "string" + }, + "serverCallId": { + "description": "Server call ID.", + "type": "string" + }, + "correlationId": { + "description": "Correlation ID for event to call correlation.", + "type": "string" + }, + "operationContext": { + "description": "Used by customers when calling mid-call actions to correlate the request to the response event.", + "type": "string" + }, + "resultInformation": { + "$ref": "#/definitions/ResultInformation", + "description": "Contains the resulting SIP code, sub-code and message." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of API to invoke.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Endpoint": { + "name": "endpoint", + "in": "path", + "description": "The endpoint of the Azure Communication resource.", + "required": true, + "type": "string", + "format": "url", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + }, + "securityDefinitions": { + "Authorization": { + "type": "apiKey", + "description": "An Azure Communication Services user access token.", + "name": "Authorization", + "in": "header" + } + }, + "security": [ + { + "Authorization": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/AnswerCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/AnswerCall.json new file mode 100644 index 000000000000..2a50b4a4f879 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/AnswerCall.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "answerCallRequest": { + "incomingCallContext": "H4sIAAAAAAAEAMVVS2/bOBD+LzrspaElPiSSBoJFNnvYoNi0aHaBtpcFRQ5t1rIokLRTJ8h/X1J2soHRQ4A9lAdZ4ry+mflm/FhpNQy3PjnrtErOj9XysbLBb8uvM9WyEkul49J2ioEiGhlKADHVKiR7oVDXUGo5tkpa8k8zH9yglhuKuLQNkqLpEMZUNSZLNFfVRWVcnAZ1uFVbyP53EQLOtzCaybsx3ZSgnZFKKk4QgLGIybZFfU8oolIZzFrWGk6yzaDG1U6tYLaBMd9MKiSn3aROjjSRoAUHhG1PEDMdIGFlg4yRUmhChWQsm62dMdl+adUQ4aIKEP0u6KPft6RePV1Uyf/PmmmT5VijnlmMpD7VDLg4r9m4G4azgjWng37weD5nBTt6OS8YlcRyBhpJwD1iggFSbccQJVRJANW1gp4XLCc/uHETS/4qJaXX2dE6pSku61pNbgETMrBfxM1hgsUIqVzWe1Lrqda6iBBpmsXx9ZWW1vUe19aHDZja9pqBMRyBpQyxriVIgNBIGa11D9wy2tWE1Q7np6iPOH51lyXtLRinrsZ4D6FwQmdY28LEKfhV7nX8+XCfkZwAB/gGOv18WEccJ1A7M/0V1BgnHwq0/JmBYSoWEi84XTC+pIyLuszCXPBrPyYY0zPTsv57OBSOxJxoXjXzV3WzJs1D/+X22gy/36m762/vhk8PV5eXOWAm5gZKqDZ5/PCdc2L/vvmjbynGh3fhPus8lVIZFzLI7PBj8BNkOsPMRBc/nURXw+DvIbM7hR3MJnmWdNE6Itt7p2Gr3HAHKblxVcyfsp724x5CnPfizbh36WVDvpaUNIMfhplbb+1Xtp87hhfPr687lq/qB4HD9ec1vN98+OzhQ9Rfp26zKq34BS47ygVtBZdNS3AjMCnb0MU/d0NyH/NEH15WmYu/BZ+7q2L6b1oN9LvVS3se5z+B4w6lWIOSHOl5+rmiSJoOI9b0jZZATMPUD7bsm5ZGjrsKfjfNcb+faPH0LyoNW7KCBgAA", + "callbackUri": "https://app.contoso.com/callback" + } + }, + "responses": { + "200": { + "body": { + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA", + "sourceCallerIdNumber": { + "value": "+18440123456" + }, + "source": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "targets": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9" + } + } + ], + "callConnectionState": "connected", + "callbackUri": "https://app.contoso.com/callback" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_AddParticipant.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_AddParticipant.json new file mode 100644 index 000000000000..73ef38e51844 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_AddParticipant.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "addParticipantRequest": { + "participantToAdd": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_ae9e3307-f56e-44be-8934-80a63f080538" + } + }, + "operationContext": "adding participant", + "sourceCallerIdNumber": { + "value": "+18440123456" + } + } + }, + "responses": { + "202": { + "body": { + "operationContext": "adding participant", + "participant": { + "identifier": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_ae9e3307-f56e-44be-8934-80a63f080538" + } + }, + "isMuted": false + } + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetCall.json new file mode 100644 index 000000000000..03d61bde9a14 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetCall.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c" + }, + "responses": { + "200": { + "body": { + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA", + "sourceCallerIdNumber": { + "value": "+18440123456" + }, + "source": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "targets": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9" + } + }, + { + "kind": "phoneNumber", + "phoneNumber": { + "value": "+14250123456" + } + } + ], + "callConnectionState": "connected", + "callbackUri": "https://app.contoso.com/callback" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipant.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipant.json new file mode 100644 index 000000000000..7288c942f0fd --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipant.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "participantRawId": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + }, + "responses": { + "200": { + "body": { + "identifier": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "isMuted": false + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipants.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipants.json new file mode 100644 index 000000000000..4858deaa60a2 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_GetParticipants.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identifier": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "isMuted": true + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_HangupCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_HangupCall.json new file mode 100644 index 000000000000..14f71d597c26 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_HangupCall.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_Mute.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_Mute.json new file mode 100644 index 000000000000..f0a73a74b77d --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_Mute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "muteParticipantsRequest": { + "targetParticipants": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + } + ], + "operationContext": "mute participant" + } + }, + "responses": { + "202": { + "body": { + "operationContext": "mute participant" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_RemoveParticipant.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_RemoveParticipant.json new file mode 100644 index 000000000000..8b907886c37d --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_RemoveParticipant.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "removeParticipantRequest": { + "participantToRemove": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_ae9e3307-f56e-44be-8934-80a63f080538" + } + }, + "operationContext": "removing participant" + } + }, + "responses": { + "202": { + "body": { + "operationContext": "removing participant" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TerminateCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TerminateCall.json new file mode 100644 index 000000000000..14f71d597c26 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TerminateCall.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TransferToParticipant.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TransferToParticipant.json new file mode 100644 index 000000000000..56035c424ec4 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallConnection_TransferToParticipant.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "transferToParticipantRequest": { + "targetParticipant": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "operationContext": "trasferring call" + } + }, + "responses": { + "202": { + "body": { + "operationContext": "trasferring call" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_CancelAllMediaOperations.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_CancelAllMediaOperations.json new file mode 100644 index 000000000000..136e22d8c756 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_CancelAllMediaOperations.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c" + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Play.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Play.json new file mode 100644 index 000000000000..64e8fa0ea558 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Play.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "playRequest": { + "playSources": [ + { + "kind": "file", + "playSourceCacheId": "string", + "file": { + "uri": "https://some.file.azure.com/sample.wav" + } + } + ], + "playTo": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_ae9e3307-f56e-44be-8934-80a63f080538" + } + } + ], + "playOptions": { + "loop": true + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Recognize.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Recognize.json new file mode 100644 index 000000000000..e4dd4c568538 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_Recognize.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "recognizeRequest": { + "recognizeInputType": "dtmf", + "playPrompt": { + "kind": "file", + "file": { + "uri": "https://some.file.azure.com/sample.wav" + } + }, + "recognizeOptions": { + "interruptPrompt": true, + "initialSilenceTimeoutInSeconds": 5, + "targetParticipant": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "dtmfOptions": { + "interToneTimeoutInSeconds": 3, + "maxTonesToCollect": 5, + "stopTones": [ + "pound" + ] + } + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_SendDtmfTones.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_SendDtmfTones.json new file mode 100644 index 000000000000..20b1bf6550fb --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_SendDtmfTones.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "sendDtmfTonesRequest": { + "tones": [ + "zero" + ], + "targetParticipant": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + } + } + }, + "responses": { + "202": { + "body": { + "operationContext": "sendDtmf operation context" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StartContinuousDtmfRecognition.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StartContinuousDtmfRecognition.json new file mode 100644 index 000000000000..d4dde94c0c3d --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StartContinuousDtmfRecognition.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "continuousDtmfRecognitionRequest": { + "targetParticipant": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StopContinuousDtmfRecognition.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StopContinuousDtmfRecognition.json new file mode 100644 index 000000000000..d4dde94c0c3d --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallMedia_StopContinuousDtmfRecognition.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "continuousDtmfRecognitionRequest": { + "targetParticipant": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_GetRecordingProperties.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_GetRecordingProperties.json new file mode 100644 index 000000000000..0dad336f8f66 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_GetRecordingProperties.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==" + }, + "responses": { + "200": { + "body": { + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==", + "recordingState": "inactive" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_PauseRecording.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_PauseRecording.json new file mode 100644 index 000000000000..946b6148fabb --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_PauseRecording.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==" + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_ResumeRecording.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_ResumeRecording.json new file mode 100644 index 000000000000..946b6148fabb --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_ResumeRecording.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==" + }, + "responses": { + "202": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StartRecording.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StartRecording.json new file mode 100644 index 000000000000..6fd441660ea7 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StartRecording.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "startCallRecording": { + "recordingStateCallbackUri": "https://contoso.communications.azure.com/callback", + "recordingContentType": null, + "recordingChannelType": null, + "recordingFormatType": null, + "callLocator": { + "serverCallId": "aHR0cHM6Ly9za3lwZS5uZXQvYXBpL3YyL2NwL3NreXBlLm5ldC9jb252LzFQd3ZKMTcxZFI/aT0wJmU9NzU3NzA4NzU3OQ==", + "kind": "serverCallLocator" + } + } + }, + "responses": { + "200": { + "body": { + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==", + "recordingState": "inactive" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StopRecording.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StopRecording.json new file mode 100644 index 000000000000..f73add098b7f --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CallRecording_StopRecording.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI4YjlkYmFkMS0xOGFiLTRmODYtYWQ0Yy1jNzVmODA5ODA3NmUifQ==" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CreateCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CreateCall.json new file mode 100644 index 000000000000..8fdc572165b2 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/CreateCall.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "createCallRequest": { + "targets": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9" + } + } + ], + "callbackUri": "https://app.contoso.com/callback" + } + }, + "responses": { + "201": { + "body": { + "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c", + "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA", + "source": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce" + } + }, + "targets": [ + { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9" + } + } + ], + "callConnectionState": "connected", + "callbackUri": "https://app.contoso.com/callback" + } + } + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RedirectCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RedirectCall.json new file mode 100644 index 000000000000..d728cb71b97d --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RedirectCall.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "redirectCallRequest": { + "target": { + "kind": "communicationUser", + "communicationUser": { + "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9" + } + }, + "incomingCallContext": "H4sIAAAAAAAEAMVVS2/bOBD+LzrspaElPiSSBoJFNnvYoNi0aHaBtpcFRQ5t1rIokLRTJ8h/X1J2soHRQ4A9lAdZ4ry+mflm/FhpNQy3PjnrtErOj9XysbLBb8uvM9WyEkul49J2ioEiGhlKADHVKiR7oVDXUGo5tkpa8k8zH9yglhuKuLQNkqLpEMZUNSZLNFfVRWVcnAZ1uFVbyP53EQLOtzCaybsx3ZSgnZFKKk4QgLGIybZFfU8oolIZzFrWGk6yzaDG1U6tYLaBMd9MKiSn3aROjjSRoAUHhG1PEDMdIGFlg4yRUmhChWQsm62dMdl+adUQ4aIKEP0u6KPft6RePV1Uyf/PmmmT5VijnlmMpD7VDLg4r9m4G4azgjWng37weD5nBTt6OS8YlcRyBhpJwD1iggFSbccQJVRJANW1gp4XLCc/uHETS/4qJaXX2dE6pSku61pNbgETMrBfxM1hgsUIqVzWe1Lrqda6iBBpmsXx9ZWW1vUe19aHDZja9pqBMRyBpQyxriVIgNBIGa11D9wy2tWE1Q7np6iPOH51lyXtLRinrsZ4D6FwQmdY28LEKfhV7nX8+XCfkZwAB/gGOv18WEccJ1A7M/0V1BgnHwq0/JmBYSoWEi84XTC+pIyLuszCXPBrPyYY0zPTsv57OBSOxJxoXjXzV3WzJs1D/+X22gy/36m762/vhk8PV5eXOWAm5gZKqDZ5/PCdc2L/vvmjbynGh3fhPus8lVIZFzLI7PBj8BNkOsPMRBc/nURXw+DvIbM7hR3MJnmWdNE6Itt7p2Gr3HAHKblxVcyfsp724x5CnPfizbh36WVDvpaUNIMfhplbb+1Xtp87hhfPr687lq/qB4HD9ec1vN98+OzhQ9Rfp26zKq34BS47ygVtBZdNS3AjMCnb0MU/d0NyH/NEH15WmYu/BZ+7q2L6b1oN9LvVS3se5z+B4w6lWIOSHOl5+rmiSJoOI9b0jZZATMPUD7bsm5ZGjrsKfjfNcb+faPH0LyoNW7KCBgAA" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RejectCall.json b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RejectCall.json new file mode 100644 index 000000000000..7d52423e6068 --- /dev/null +++ b/specification/communication/data-plane/CallAutomation/preview/2023-06-15-preview/examples/RejectCall.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "https://contoso.communications.azure.com", + "api-version": "2023-06-15-preview", + "rejectCallRequest": { + "incomingCallContext": "H4sIAAAAAAAEAMVVS2/bOBD+LzrspaElPiSSBoJFNnvYoNi0aHaBtpcFRQ5t1rIokLRTJ8h/X1J2soHRQ4A9lAdZ4ry+mflm/FhpNQy3PjnrtErOj9XysbLBb8uvM9WyEkul49J2ioEiGhlKADHVKiR7oVDXUGo5tkpa8k8zH9yglhuKuLQNkqLpEMZUNSZLNFfVRWVcnAZ1uFVbyP53EQLOtzCaybsx3ZSgnZFKKk4QgLGIybZFfU8oolIZzFrWGk6yzaDG1U6tYLaBMd9MKiSn3aROjjSRoAUHhG1PEDMdIGFlg4yRUmhChWQsm62dMdl+adUQ4aIKEP0u6KPft6RePV1Uyf/PmmmT5VijnlmMpD7VDLg4r9m4G4azgjWng37weD5nBTt6OS8YlcRyBhpJwD1iggFSbccQJVRJANW1gp4XLCc/uHETS/4qJaXX2dE6pSku61pNbgETMrBfxM1hgsUIqVzWe1Lrqda6iBBpmsXx9ZWW1vUe19aHDZja9pqBMRyBpQyxriVIgNBIGa11D9wy2tWE1Q7np6iPOH51lyXtLRinrsZ4D6FwQmdY28LEKfhV7nX8+XCfkZwAB/gGOv18WEccJ1A7M/0V1BgnHwq0/JmBYSoWEi84XTC+pIyLuszCXPBrPyYY0zPTsv57OBSOxJxoXjXzV3WzJs1D/+X22gy/36m762/vhk8PV5eXOWAm5gZKqDZ5/PCdc2L/vvmjbynGh3fhPus8lVIZFzLI7PBj8BNkOsPMRBc/nURXw+DvIbM7hR3MJnmWdNE6Itt7p2Gr3HAHKblxVcyfsp724x5CnPfizbh36WVDvpaUNIMfhplbb+1Xtp87hhfPr687lq/qB4HD9ec1vN98+OzhQ9Rfp26zKq34BS47ygVtBZdNS3AjMCnb0MU/d0NyH/NEH15WmYu/BZ+7q2L6b1oN9LvVS3se5z+B4w6lWIOSHOl5+rmiSJoOI9b0jZZATMPUD7bsm5ZGjrsKfjfNcb+faPH0LyoNW7KCBgAA" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/CallAutomation/readme.md b/specification/communication/data-plane/CallAutomation/readme.md index 5667c6841691..b8b9d759db6b 100644 --- a/specification/communication/data-plane/CallAutomation/readme.md +++ b/specification/communication/data-plane/CallAutomation/readme.md @@ -50,6 +50,17 @@ title: Azure Communication Services ``` +### Tag: package-2023-06-15-preview + +These settings apply only when `--tag=package-2023-06-15-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-06-15-preview' +input-file: + - preview/2023-06-15-preview/communicationservicescallautomation.json +title: + Azure Communication Services +``` + --- # Code Generation diff --git a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/communicationserviceschat.json index d4b627822d50..f8c4fd275c2c 100644 --- a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/communicationserviceschat.json +++ b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/communicationserviceschat.json @@ -1355,6 +1355,13 @@ "description": "Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.", "type": "string", "example": "2020-10-30T10:50:50Z" + }, + "metadata": { + "description": "Contextual metadata for the chat participant. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -1619,8 +1626,12 @@ "$ref": "#/definitions/ChatParticipant" } }, - "retentionPolicy": { - "$ref": "#/definitions/ChatRetentionPolicy" + "metadata": { + "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -1659,8 +1670,12 @@ "type": "string", "example": "2020-10-30T10:50:50Z" }, - "retentionPolicy": { - "$ref": "#/definitions/ChatRetentionPolicy" + "metadata": { + "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -1711,9 +1726,6 @@ "type": "string", "readOnly": true, "example": "2020-10-30T10:50:50Z" - }, - "retentionPolicy": { - "$ref": "#/definitions/ChatRetentionPolicy" } } }, @@ -1746,6 +1758,13 @@ "description": "Chat thread topic.", "type": "string", "example": "Lunch Thread" + }, + "metadata": { + "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -1759,53 +1778,6 @@ "example": "Bob Admin" } } - }, - "ChatRetentionPolicy": { - "description": "Data retention policy for auto deletion. It's not updatable after creation.", - "type": "object", - "discriminator": "kind", - "properties": { - "kind": { - "description": "Retention Policy Type", - "enum": [ - "threadCreationDate" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionPolicyKind", - "modelAsString": true, - "values": [ - { - "value": "threadCreationDate", - "description": "Thread retention policy based on thread creation date." - } - ] - } - } - }, - "required": [ - "kind" - ] - }, - "ThreadCreationDateRetentionPolicy": { - "description": "Thread retention policy based on thread creation date.", - "type": "object", - "x-ms-discriminator-value": "threadCreationDate", - "allOf": [ - { - "$ref": "#/definitions/ChatRetentionPolicy" - } - ], - "properties": { - "deleteThreadAfterDays": { - "type": "integer", - "format": "int32", - "description": "Indicates how many days after the thread creation the thread will be deleted. Only 90 is accepted for now." - } - }, - "required": [ - "deleteThreadAfterDays" - ] } }, "parameters": { diff --git a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_CreateChatThread.json index fcb2c48ecdf5..03098d631638 100644 --- a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_CreateChatThread.json +++ b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_CreateChatThread.json @@ -41,11 +41,7 @@ }, "displayName": "Peter" } - ], - "retentionPolicy": { - "kind": "threadCreationDate", - "deleteThreadAfterDays": 90 - } + ] } }, "responses": { @@ -63,10 +59,6 @@ "communicationUser": { "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715" } - }, - "retentionPolicy": { - "kind": "threadCreationDate", - "deleteThreadAfterDays": 90 } }, "invalidParticipants": [ diff --git a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_GetChatThread.json index f05a95473143..c8e186c0f68c 100644 --- a/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_GetChatThread.json +++ b/specification/communication/data-plane/Chat/preview/2023-07-01-preview/examples/Threads_GetChatThread.json @@ -10,10 +10,6 @@ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2", "topic": "Lunch", "createdOn": "2020-06-06T05:55:41.6460000Z", - "retentionPolicy": { - "kind": "threadCreationDate", - "deleteThreadAfterDays": 90 - }, "createdByCommunicationIdentifier": { "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b", "communicationUser": { diff --git a/specification/communication/data-plane/Identity/stable/2023-08-01/CommunicationIdentity.json b/specification/communication/data-plane/Identity/stable/2023-08-01/CommunicationIdentity.json index c8d73b0dac41..03b0aa1c017d 100644 --- a/specification/communication/data-plane/Identity/stable/2023-08-01/CommunicationIdentity.json +++ b/specification/communication/data-plane/Identity/stable/2023-08-01/CommunicationIdentity.json @@ -133,20 +133,6 @@ }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "in": "header", - "name": "Repeatability-Request-ID", - "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs. Internal identifiers shouldn't be used. The value should be an opaque meaningless string in UUID format.", - "type": "string", - "format": "uuid" - }, - { - "in": "header", - "name": "Repeatability-First-Sent", - "description": "If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date", - "type": "string", - "format": "date-time-rfc1123" } ], "responses": { @@ -157,17 +143,11 @@ } }, "204": { - "description": "No Content", - "headers": { - "Repeatability-Result": { - "description": "Result of idempotent request. Present only in case of idempotent processing.", - "type": "string" - } - } + "description": "No Content" } }, "x-ms-examples": { - "Revoke access tokens with optional idempotent processing using Repeatability-Request-ID and Repeatability-First-Sent headers. If the headers are not provided, the request will be processed in a non-idempotent way which can lead to more tokens being revoked than intended on a retry.": { + "Revoke access tokens": { "$ref": "./examples/RevokeAccessTokens.json" } } diff --git a/specification/communication/data-plane/Identity/stable/2023-08-01/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/stable/2023-08-01/examples/RevokeAccessTokens.json index 1a6910eb229f..8f005c3926a1 100644 --- a/specification/communication/data-plane/Identity/stable/2023-08-01/examples/RevokeAccessTokens.json +++ b/specification/communication/data-plane/Identity/stable/2023-08-01/examples/RevokeAccessTokens.json @@ -3,17 +3,9 @@ "api-version": "2023-08-01", "content-type": "application/json", "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", - "endpoint": "https://my-resource.communication.azure.com", - "headers": { - "Repeatability-Request-ID": "4e7d453c-ae97-4778-ad51-cb3b4a701100", - "Repeatability-First-Sent": "Sun, 10 Sep 2023 20:39:30 GMT" - } + "endpoint": "https://my-resource.communication.azure.com" }, "responses": { - "204": { - "headers": { - "Repeatability-Result": "accepted" - } - } + "204": {} } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/communicationservicejobrouter.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/communicationservicejobrouter.json index 52dc6d82e376..2be2857afdbf 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/communicationservicejobrouter.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/communicationservicejobrouter.json @@ -23,7 +23,7 @@ { "in": "path", "name": "id", - "description": "Id of the classification policy", + "description": "Id of the classification policy.", "required": true, "type": "string" }, @@ -33,7 +33,7 @@ { "in": "body", "name": "patch", - "description": "Model of classification policy properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386", + "description": "Model of classification policy properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386.", "required": true, "schema": { "$ref": "#/definitions/ClassificationPolicy" @@ -41,17 +41,23 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/ClassificationPolicy" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/ClassificationPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -67,7 +73,7 @@ "tags": [ "ClassificationPolicies" ], - "summary": "Retrieves an existing classification policy by Id", + "summary": "Retrieves an existing classification policy by Id.", "operationId": "JobRouterAdministration_GetClassificationPolicy", "produces": [ "application/json" @@ -76,7 +82,7 @@ { "in": "path", "name": "id", - "description": "Id of the classification policy", + "description": "Id of the classification policy.", "required": true, "type": "string" }, @@ -85,17 +91,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/ClassificationPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -108,7 +114,7 @@ "tags": [ "ClassificationPolicies" ], - "summary": "Delete a classification policy by Id", + "summary": "Delete a classification policy by Id.", "operationId": "JobRouterAdministration_DeleteClassificationPolicy", "produces": [ "application/json" @@ -117,7 +123,7 @@ { "in": "path", "name": "id", - "description": "Id of the classification policy", + "description": "Id of the classification policy.", "required": true, "type": "string" }, @@ -126,14 +132,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -148,7 +154,7 @@ "tags": [ "ClassificationPolicies" ], - "summary": "Retrieves existing classification policies", + "summary": "Retrieves existing classification policies.", "operationId": "JobRouterAdministration_ListClassificationPolicies", "produces": [ "application/json" @@ -157,27 +163,26 @@ { "in": "query", "name": "maxpagesize", - "description": "Maximum page size", + "description": "Maximum page size.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/ClassificationPolicyCollection" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -208,7 +213,7 @@ { "in": "path", "name": "id", - "description": "Id of the distribution policy", + "description": "Id of the distribution policy.", "required": true, "type": "string" }, @@ -218,7 +223,7 @@ { "in": "body", "name": "patch", - "description": "Model of distribution policy properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386", + "description": "Model of distribution policy properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386.", "required": true, "schema": { "$ref": "#/definitions/DistributionPolicy" @@ -226,17 +231,23 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/DistributionPolicy" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/DistributionPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -252,7 +263,7 @@ "tags": [ "DistributionPolicies" ], - "summary": "Retrieves an existing distribution policy by Id", + "summary": "Retrieves an existing distribution policy by Id.", "operationId": "JobRouterAdministration_GetDistributionPolicy", "produces": [ "application/json" @@ -261,7 +272,7 @@ { "in": "path", "name": "id", - "description": "Id of the distribution policy", + "description": "Id of the distribution policy.", "required": true, "type": "string" }, @@ -270,17 +281,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/DistributionPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -293,7 +304,7 @@ "tags": [ "DistributionPolicies" ], - "summary": "Delete a distribution policy by Id", + "summary": "Delete a distribution policy by Id.", "operationId": "JobRouterAdministration_DeleteDistributionPolicy", "produces": [ "application/json" @@ -302,7 +313,7 @@ { "in": "path", "name": "id", - "description": "Id of the distribution policy", + "description": "Id of the distribution policy.", "required": true, "type": "string" }, @@ -311,14 +322,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -333,7 +344,7 @@ "tags": [ "DistributionPolicies" ], - "summary": "Retrieves existing distribution policies", + "summary": "Retrieves existing distribution policies.", "operationId": "JobRouterAdministration_ListDistributionPolicies", "produces": [ "application/json" @@ -342,27 +353,26 @@ { "in": "query", "name": "maxpagesize", - "description": "Maximum page size", + "description": "Maximum page size.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/DistributionPolicyCollection" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -393,7 +403,7 @@ { "in": "path", "name": "id", - "description": "Id of the exception policy", + "description": "Id of the exception policy.", "required": true, "type": "string" }, @@ -411,17 +421,23 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/ExceptionPolicy" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/ExceptionPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -437,7 +453,7 @@ "tags": [ "ExceptionPolicies" ], - "summary": "Retrieves an existing exception policy by Id", + "summary": "Retrieves an existing exception policy by Id.", "operationId": "JobRouterAdministration_GetExceptionPolicy", "produces": [ "application/json" @@ -446,7 +462,7 @@ { "in": "path", "name": "id", - "description": "Id of the exception policy to retrieve", + "description": "Id of the exception policy to retrieve.", "required": true, "type": "string" }, @@ -455,17 +471,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/ExceptionPolicy" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -478,7 +494,7 @@ "tags": [ "ExceptionPolicies" ], - "summary": "Deletes a exception policy by Id", + "summary": "Deletes a exception policy by Id.", "operationId": "JobRouterAdministration_DeleteExceptionPolicy", "produces": [ "application/json" @@ -487,7 +503,7 @@ { "in": "path", "name": "id", - "description": "Id of the exception policy to delete", + "description": "Id of the exception policy to delete.", "required": true, "type": "string" }, @@ -496,14 +512,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -518,7 +534,7 @@ "tags": [ "ExceptionPolicies" ], - "summary": "Retrieves existing exception policies", + "summary": "Retrieves existing exception policies.", "operationId": "JobRouterAdministration_ListExceptionPolicies", "produces": [ "application/json" @@ -527,27 +543,26 @@ { "in": "query", "name": "maxpagesize", - "description": "Number of objects to return per page", + "description": "Number of objects to return per page.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/ExceptionPolicyCollection" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -596,17 +611,23 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterJob" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/RouterJob" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -615,6 +636,9 @@ }, "Update a job": { "$ref": "./examples/Jobs_UpdateJob.json" + }, + "Creates a scheduled job": { + "$ref": "./examples/Jobs_CreateScheduledJob.json" } } }, @@ -622,7 +646,7 @@ "tags": [ "Jobs" ], - "summary": "Retrieves an existing job by Id", + "summary": "Retrieves an existing job by Id.", "operationId": "JobRouter_GetJob", "produces": [ "application/json" @@ -631,7 +655,7 @@ { "in": "path", "name": "id", - "description": "Id of the job to retrieve", + "description": "Id of the job to retrieve.", "required": true, "type": "string" }, @@ -640,17 +664,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/RouterJob" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -681,14 +705,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -706,9 +730,7 @@ "summary": "Reclassify a job.", "operationId": "JobRouter_ReclassifyJobAction", "consumes": [ - "application/json", - "text/json", - "application/*+json" + "application/json" ], "produces": [ "application/json" @@ -717,7 +739,7 @@ { "in": "path", "name": "id", - "description": "Id of the job", + "description": "Id of the job.", "required": true, "type": "string" }, @@ -734,17 +756,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/ReclassifyJobResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -771,7 +793,7 @@ { "in": "path", "name": "id", - "description": "Id of the job", + "description": "Id of the job.", "required": true, "type": "string" }, @@ -781,7 +803,7 @@ { "in": "body", "name": "cancelJobRequest", - "description": "Request model for cancelling job", + "description": "Request model for cancelling job.", "schema": { "$ref": "#/definitions/CancelJobRequest" }, @@ -789,17 +811,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/CancelJobResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -826,7 +848,7 @@ { "in": "path", "name": "id", - "description": "Id of the job", + "description": "Id of the job.", "required": true, "type": "string" }, @@ -836,7 +858,7 @@ { "in": "body", "name": "completeJobRequest", - "description": "Request model for completing job", + "description": "Request model for completing job.", "required": true, "schema": { "$ref": "#/definitions/CompleteJobRequest" @@ -845,17 +867,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/CompleteJobResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -882,7 +904,7 @@ { "in": "path", "name": "id", - "description": "Id of the job", + "description": "Id of the job.", "required": true, "type": "string" }, @@ -892,7 +914,7 @@ { "in": "body", "name": "closeJobRequest", - "description": "Request model for closing job", + "description": "Request model for closing job.", "required": true, "schema": { "$ref": "#/definitions/CloseJobRequest" @@ -901,12 +923,6 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { @@ -918,6 +934,12 @@ "schema": { "$ref": "#/definitions/CloseJobResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -932,7 +954,7 @@ "tags": [ "Jobs" ], - "summary": "Retrieves list of jobs based on filter parameters", + "summary": "Retrieves list of jobs based on filter parameters.", "operationId": "JobRouter_ListJobs", "produces": [ "application/json" @@ -941,7 +963,7 @@ { "in": "query", "name": "status", - "description": "(Optional) If specified, filter jobs by status.", + "description": "If specified, filter jobs by status.", "type": "string", "default": "all", "enum": [ @@ -953,54 +975,72 @@ "closed", "cancelled", "classificationFailed", + "created", + "pendingSchedule", + "scheduled", + "scheduleFailed", + "waitingForActivation", "active" ], "x-ms-enum": { - "name": "JobStateSelector", - "modelAsString": false + "name": "RouterJobStatusSelector", + "modelAsString": true } }, { "in": "query", "name": "queueId", - "description": "(Optional) If specified, filter jobs by queue.", + "description": "If specified, filter jobs by queue.", "type": "string" }, { "in": "query", "name": "channelId", - "description": "(Optional) If specified, filter jobs by channel.", + "description": "If specified, filter jobs by channel.", "type": "string" }, { "in": "query", "name": "classificationPolicyId", - "description": "(Optional) If specified, filter jobs by classificationPolicy.", + "description": "If specified, filter jobs by classificationPolicy.", "type": "string" }, + { + "in": "query", + "name": "scheduledBefore", + "description": "If specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].", + "type": "string", + "format": "date-time" + }, + { + "in": "query", + "name": "scheduledAfter", + "description": "If specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).", + "type": "string", + "format": "date-time" + }, { "in": "query", "name": "maxpagesize", - "description": "Number of objects to return per page", + "description": "Number of objects to return per page.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterJobCollection" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/JobCollection" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1029,7 +1069,7 @@ { "in": "path", "name": "id", - "description": "Id of the job", + "description": "Id of the job.", "required": true, "type": "string" }, @@ -1038,16 +1078,16 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterJobPositionDetails" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/JobPositionDetails" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1065,6 +1105,9 @@ ], "summary": "Un-assign a job.", "operationId": "JobRouter_UnassignJobAction", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1072,33 +1115,41 @@ { "in": "path", "name": "id", - "description": "Id of the job to un-assign", + "description": "Id of the job to un-assign.", "required": true, "type": "string" }, { "in": "path", "name": "assignmentId", - "description": "Id of the assignment to un-assign", + "description": "Id of the assignment to un-assign.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "unassignJobRequest", + "description": "Request body for unassign route.", + "schema": { + "$ref": "#/definitions/UnassignJobRequest" + } } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/UnassignJobResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -1122,14 +1173,14 @@ { "in": "path", "name": "workerId", - "description": "Id of the worker", + "description": "Id of the worker.", "required": true, "type": "string" }, { "in": "path", "name": "offerId", - "description": "Id of the offer", + "description": "Id of the offer.", "required": true, "type": "string" }, @@ -1138,17 +1189,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/AcceptJobOfferResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -1165,6 +1216,9 @@ ], "summary": "Declines an offer to work on a job.", "operationId": "JobRouter_DeclineJobAction", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1172,33 +1226,41 @@ { "in": "path", "name": "workerId", - "description": "Id of the worker", + "description": "Id of the worker.", "required": true, "type": "string" }, { "in": "path", "name": "offerId", - "description": "Id of the offer", + "description": "Id of the offer.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "declineJobOfferRequest", + "description": "Request model for declining offer.", + "schema": { + "$ref": "#/definitions/DeclineJobOfferRequest" + } } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/DeclineJobOfferResult" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -1225,7 +1287,7 @@ { "in": "path", "name": "id", - "description": "Id of the queue", + "description": "Id of the queue.", "required": true, "type": "string" }, @@ -1235,24 +1297,30 @@ { "in": "body", "name": "patch", - "description": "Model of queue properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386", + "description": "Model of queue properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386.", "required": true, "schema": { - "$ref": "#/definitions/JobQueue" + "$ref": "#/definitions/RouterQueue" } } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterQueue" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/RouterQueue" + } + }, + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/JobQueue" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1269,7 +1337,7 @@ "tags": [ "Queues" ], - "summary": "Retrieves an existing queue by Id", + "summary": "Retrieves an existing queue by Id.", "operationId": "JobRouterAdministration_GetQueue", "produces": [ "application/json" @@ -1278,7 +1346,7 @@ { "in": "path", "name": "id", - "description": "Id of the queue to retrieve", + "description": "Id of the queue to retrieve.", "required": true, "type": "string" }, @@ -1287,16 +1355,16 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterQueue" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/JobQueue" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1310,7 +1378,7 @@ "tags": [ "Queues" ], - "summary": "Deletes a queue by Id", + "summary": "Deletes a queue by Id.", "operationId": "JobRouterAdministration_DeleteQueue", "produces": [ "application/json" @@ -1319,7 +1387,7 @@ { "in": "path", "name": "id", - "description": "Id of the queue to delete", + "description": "Id of the queue to delete.", "required": true, "type": "string" }, @@ -1328,14 +1396,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -1350,7 +1418,7 @@ "tags": [ "Queues" ], - "summary": "Retrieves existing queues", + "summary": "Retrieves existing queues.", "operationId": "JobRouterAdministration_ListQueues", "produces": [ "application/json" @@ -1359,26 +1427,25 @@ { "in": "query", "name": "maxpagesize", - "description": "Number of objects to return per page", + "description": "Number of objects to return per page.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterQueueCollection" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/QueueCollection" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1398,7 +1465,7 @@ "tags": [ "Queues" ], - "summary": "Retrieves a queue's statistics", + "summary": "Retrieves a queue's statistics.", "operationId": "JobRouter_GetQueueStatistics", "produces": [ "application/json" @@ -1407,7 +1474,7 @@ { "in": "path", "name": "id", - "description": "Id of the queue to retrieve statistics", + "description": "Id of the queue to retrieve statistics.", "required": true, "type": "string" }, @@ -1416,16 +1483,16 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterQueueStatistics" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/QueueStatistics" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1453,7 +1520,7 @@ { "in": "path", "name": "workerId", - "description": "Id of the worker", + "description": "Id of the worker.", "required": true, "type": "string" }, @@ -1463,7 +1530,7 @@ { "in": "body", "name": "patch", - "description": "Model of worker properties to be patched. See also: https://datatracker.ietf.org/doc/html/rfc7386", + "description": "Model of worker properties to be created or patched. See also: https://datatracker.ietf.org/doc/html/rfc7386.", "required": true, "schema": { "$ref": "#/definitions/RouterWorker" @@ -1471,17 +1538,23 @@ } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterWorker" } }, - "200": { - "description": "Success", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/RouterWorker" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -1506,7 +1579,7 @@ "tags": [ "Workers" ], - "summary": "Retrieves an existing worker by Id", + "summary": "Retrieves an existing worker by Id.", "operationId": "JobRouter_GetWorker", "produces": [ "application/json" @@ -1515,7 +1588,7 @@ { "in": "path", "name": "workerId", - "description": "Id of the worker to retrieve", + "description": "Id of the worker to retrieve.", "required": true, "type": "string" }, @@ -1524,17 +1597,17 @@ } ], "responses": { - "default": { - "description": "Error", - "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" - } - }, "200": { "description": "Success", "schema": { "$ref": "#/definitions/RouterWorker" } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/CommunicationErrorResponse" + } } }, "x-ms-examples": { @@ -1556,7 +1629,7 @@ { "in": "path", "name": "workerId", - "description": "Id of the worker to delete", + "description": "Id of the worker to delete.", "required": true, "type": "string" }, @@ -1565,14 +1638,14 @@ } ], "responses": { + "204": { + "description": "Success" + }, "default": { "description": "Error", "schema": { "$ref": "#/definitions/CommunicationErrorResponse" } - }, - "204": { - "description": "Success" } }, "x-ms-examples": { @@ -1595,8 +1668,8 @@ "parameters": [ { "in": "query", - "name": "status", - "description": "(Optional) If specified, select workers by worker status.", + "name": "state", + "description": "If specified, select workers by worker state.", "type": "string", "default": "all", "enum": [ @@ -1606,51 +1679,50 @@ "all" ], "x-ms-enum": { - "name": "WorkerStateSelector", - "modelAsString": false + "name": "RouterWorkerStateSelector", + "modelAsString": true } }, { "in": "query", "name": "channelId", - "description": "(Optional) If specified, select workers who have a channel configuration with this channel", + "description": "If specified, select workers who have a channel configuration with this channel.", "type": "string" }, { "in": "query", "name": "queueId", - "description": "(Optional) If specified, select workers who are assigned to this queue", + "description": "If specified, select workers who are assigned to this queue.", "type": "string" }, { "in": "query", "name": "hasCapacity", - "description": "(Optional) If set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel\r\n if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.", + "description": "If set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.", "type": "boolean" }, { "in": "query", "name": "maxpagesize", - "description": "Number of objects to return per page", + "description": "Number of objects to return per page.", "type": "integer", - "format": "int32", - "default": 20 + "format": "int32" }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "default": { - "description": "Error", + "200": { + "description": "Success", "schema": { - "$ref": "#/definitions/CommunicationErrorResponse" + "$ref": "#/definitions/RouterWorkerCollection" } }, - "200": { - "description": "Success", + "default": { + "description": "Error", "schema": { - "$ref": "#/definitions/WorkerCollection" + "$ref": "#/definitions/CommunicationErrorResponse" } } }, @@ -1681,14 +1753,17 @@ "properties": { "assignmentId": { "description": "The assignment Id that assigns a worker that has accepted an offer to a job.", + "minLength": 1, "type": "string" }, "jobId": { "description": "The Id of the job assigned.", + "minLength": 1, "type": "string" }, "workerId": { "description": "The Id of the worker that has been assigned this job.", + "minLength": 1, "type": "string" } } @@ -1703,6 +1778,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing BestWorkerMode", "type": "string" }, "scoringRule": { @@ -1724,11 +1800,11 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing CancelExceptionAction", + "type": "string" }, "note": { - "description": "(Optional) A note that will be appended to the jobs' Notes collection with th current timestamp.", + "description": "(Optional) A note that will be appended to the jobs' Notes collection with the current timestamp.", "maxLength": 2000, "minLength": 0, "type": "string" @@ -1747,7 +1823,7 @@ "type": "object", "properties": { "note": { - "description": "(Optional) A note that will be appended to the jobs' Notes collection with th current timestamp.", + "description": "(Optional) A note that will be appended to the jobs' Notes collection with the current timestamp.", "maxLength": 2000, "minLength": 0, "type": "string" @@ -1776,6 +1852,11 @@ "format": "int32", "description": "The amount of capacity that an instance of a job of this channel will consume of the total worker capacity.", "type": "integer" + }, + "maxNumberOfJobs": { + "format": "int32", + "description": "The maximum number of jobs that can be supported concurrently for this channel.", + "type": "integer" } } }, @@ -1800,7 +1881,7 @@ "description": "The queue selectors to resolve a queue for a given job.", "type": "array", "items": { - "description": "An attachment of label selectors to resolve a queue to a job from a classification policy" + "description": "An attachment of queue selectors to resolve a queue to a job from a classification policy" } }, "prioritizationRule": { @@ -1810,7 +1891,7 @@ "description": "The worker label selectors to attach to a given job.", "type": "array", "items": { - "description": "An attachment which attaches WorkerSelectors to workers" + "description": "An attachment which attaches worker selectors to a job" } } } @@ -1866,13 +1947,13 @@ "minLength": 0, "type": "string" }, - "closeTime": { + "closeAt": { "format": "date-time", - "description": "If not provided, worker capacity is released immediately along with a JobClosedEvent notification.\r\nIf provided, worker capacity is released along with a JobClosedEvent notification at a future time.", + "description": "If not provided, worker capacity is released immediately along with a JobClosedEvent notification.\r\nIf provided, worker capacity is released along with a JobClosedEvent notification at a future time in UTC.", "type": "string" }, "note": { - "description": "(Optional) A note that will be appended to the jobs' Notes collection with th current timestamp.", + "description": "(Optional) A note that will be appended to the jobs' Notes collection with the current timestamp.", "maxLength": 2000, "minLength": 0, "type": "string" @@ -1885,54 +1966,10 @@ "properties": {} }, "CommunicationError": { - "description": "The Communication Services error.", - "type": "object", - "required": [ - "code", - "message" - ], - "properties": { - "code": { - "type": "string", - "description": "The error code." - }, - "message": { - "type": "string", - "description": "The error message." - }, - "target": { - "type": "string", - "readOnly": true, - "description": "The error target." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CommunicationError" - }, - "readOnly": true, - "description": "Further details about specific errors that led to this error." - }, - "innererror": { - "x-ms-client-name": "innerError", - "readOnly": true, - "$ref": "#/definitions/CommunicationError", - "description": "The inner error if any." - } - } + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError" }, "CommunicationErrorResponse": { - "description": "The Communication Services error.", - "type": "object", - "required": [ - "error" - ], - "properties": { - "error": { - "description": "The Communication Services error.", - "$ref": "#/definitions/CommunicationError" - } - } + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" }, "CompleteJobRequest": { "description": "Request payload for completing jobs", @@ -1948,7 +1985,7 @@ "type": "string" }, "note": { - "description": "(Optional) A note that will be appended to the jobs' Notes collection with th current timestamp.", + "description": "(Optional) A note that will be appended to the jobs' Notes collection with the current timestamp.", "maxLength": 2000, "minLength": 0, "type": "string" @@ -1961,10 +1998,10 @@ "properties": {} }, "ConditionalQueueSelectorAttachment": { - "description": "Describes a set of label selectors that will be attached if the given condition resolves to true", + "description": "Describes a set of queue selectors that will be attached if the given condition resolves to true", "required": [ "condition", - "labelSelectors" + "queueSelectors" ], "type": "object", "allOf": [ @@ -1974,27 +2011,27 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing ConditionalQueueSelectorAttachment", + "type": "string" }, "condition": { "$ref": "#/definitions/RouterRule" }, - "labelSelectors": { - "description": "The label selectors to attach", + "queueSelectors": { + "description": "The queue selectors to attach", "type": "array", "items": { - "$ref": "#/definitions/QueueSelector" + "$ref": "#/definitions/RouterQueueSelector" } } }, "x-ms-discriminator-value": "conditional" }, "ConditionalWorkerSelectorAttachment": { - "description": "Describes a set of label selectors that will be attached if the given condition resolves to true", + "description": "Describes a set of worker selectors that will be attached if the given condition resolves to true", "required": [ "condition", - "labelSelectors" + "workerSelectors" ], "type": "object", "allOf": [ @@ -2004,28 +2041,39 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing ConditionalWorkerSelectorAttachment", + "type": "string" }, "condition": { "$ref": "#/definitions/RouterRule" }, - "labelSelectors": { - "description": "The label selectors to attach", + "workerSelectors": { + "description": "The worker selectors to attach", "type": "array", "items": { - "$ref": "#/definitions/WorkerSelector" + "$ref": "#/definitions/RouterWorkerSelector" } } }, "x-ms-discriminator-value": "conditional" }, + "DeclineJobOfferRequest": { + "description": "Request payload for declining offers", + "type": "object", + "properties": { + "retryOfferAt": { + "format": "date-time", + "description": "If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless\r\nthe worker is de-registered and re-registered. If a RetryOfferAt time is provided, then the job will be re-matched to\r\neligible workers at the retry time in UTC. The worker that declined the job will also be eligible for the job at that time.", + "type": "string" + } + } + }, "DeclineJobOfferResult": { "description": "Response payload from declining a job", "type": "object", "properties": {} }, - "DirectMapRule": { + "DirectMapRouterRule": { "description": "A rule that return the same labels as the input labels.", "type": "object", "allOf": [ @@ -2035,6 +2083,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing DirectMapRouterRule", "type": "string" } }, @@ -2043,9 +2092,7 @@ "DistributionMode": { "description": "Abstract base class for defining a distribution mode", "required": [ - "kind", - "maxConcurrentOffers", - "minConcurrentOffers" + "kind" ], "type": "object", "properties": { @@ -2083,9 +2130,9 @@ "description": "The human readable name of the policy.", "type": "string" }, - "offerTtlSeconds": { + "offerExpiresAfterSeconds": { "format": "double", - "description": "The expiry time of any offers created under this policy will be governed by the offer time to live.", + "description": "The number of seconds after which any offers created under this policy will be expired.", "type": "number" }, "mode": { @@ -2202,7 +2249,7 @@ "type": "object", "properties": { "trigger": { - "$ref": "#/definitions/JobExceptionTrigger" + "$ref": "#/definitions/ExceptionTrigger" }, "actions": { "description": "A dictionary collection of actions to perform once the exception is triggered. Key is the Id of each exception action.", @@ -2213,11 +2260,24 @@ } } }, - "ExpressionRule": { + "ExceptionTrigger": { + "description": "The trigger for this exception rule", + "required": [ + "kind" + ], + "type": "object", + "properties": { + "kind": { + "description": "The type discriminator describing a sub-type of ExceptionTrigger", + "type": "string" + } + }, + "discriminator": "kind" + }, + "ExpressionRouterRule": { "description": "A rule providing inline expression rules.", "required": [ - "expression", - "language" + "expression" ], "type": "object", "allOf": [ @@ -2227,6 +2287,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing ExpressionRouterRule", "type": "string" }, "language": { @@ -2236,8 +2297,8 @@ ], "type": "string", "x-ms-enum": { - "name": "ExpressionLanguage", - "modelAsString": false + "name": "ExpressionRouterRuleLanguage", + "modelAsString": true } }, "expression": { @@ -2249,7 +2310,7 @@ }, "x-ms-discriminator-value": "expression-rule" }, - "FunctionRule": { + "FunctionRouterRule": { "description": "A rule providing a binding to an HTTP Triggered Azure Function.", "required": [ "functionUri" @@ -2262,6 +2323,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing FunctionRouterRule", "type": "string" }, "functionUri": { @@ -2270,12 +2332,12 @@ "type": "string" }, "credential": { - "$ref": "#/definitions/FunctionRuleCredential" + "$ref": "#/definitions/FunctionRouterRuleCredential" } }, "x-ms-discriminator-value": "azure-function-rule" }, - "FunctionRuleCredential": { + "FunctionRouterRuleCredential": { "description": "Credentials used to access Azure function rule", "type": "object", "properties": { @@ -2299,210 +2361,62 @@ } } }, - "JobAssignment": { - "description": "Assignment details of a job to a worker", - "required": [ - "assignTime", - "id" - ], + "JobMatchingMode": { + "description": "The matching mode to be applied to this job.\r\n \r\nSupported types:\r\n \r\nQueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued.\r\nScheduleAndSuspendMode: Used for scheduling jobs to be queued at a future time. At specified time, matching of a worker to the job will not start automatically.\r\nSuspendMode: Used when matching workers to a job needs to be suspended.", "type": "object", "properties": { - "id": { - "description": "The Id of the job assignment.", - "type": "string" - }, - "workerId": { - "description": "The Id of the Worker assigned to the job.", - "type": "string" + "modeType": { + "description": "Discriminator value used to differentiate between supported matching mode types.", + "enum": [ + "queueAndMatchMode", + "scheduleAndSuspendMode", + "suspendMode" + ], + "type": "string", + "x-ms-enum": { + "name": "JobMatchModeType", + "modelAsString": true + } }, - "assignTime": { - "format": "date-time", - "description": "The assignment time of the job.", - "type": "string" + "queueAndMatchMode": { + "$ref": "#/definitions/QueueAndMatchMode" }, - "completeTime": { - "format": "date-time", - "description": "The time the job was marked as completed after being assigned.", - "type": "string" + "scheduleAndSuspendMode": { + "$ref": "#/definitions/ScheduleAndSuspendMode" }, - "closeTime": { - "format": "date-time", - "description": "The time the job was marked as closed after being completed.", - "type": "string" + "suspendMode": { + "$ref": "#/definitions/SuspendMode" } } }, - "JobCollection": { - "description": "A paged collection of jobs.", - "required": [ - "value" - ], + "LongestIdleMode": { + "description": "Jobs are directed to the worker who has been idle longest.", "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RouterJobItem" - } - }, - "nextLink": { - "type": "string", - "readOnly": true + "allOf": [ + { + "$ref": "#/definitions/DistributionMode" } - } - }, - "JobExceptionTrigger": { - "description": "The trigger for this exception rule", - "required": [ - "kind" ], - "type": "object", "properties": { "kind": { - "description": "The type discriminator describing a sub-type of ExceptionTrigger", + "description": "The type discriminator describing LongestIdleMode", "type": "string" } }, - "discriminator": "kind" + "x-ms-discriminator-value": "longest-idle" }, - "JobOffer": { - "description": "An offer of a job to a worker", - "required": [ - "capacityCost", - "id", - "jobId" - ], + "ManualReclassifyExceptionAction": { + "description": "An action that manually reclassifies a job by providing the queue, priority and worker selectors.", "type": "object", - "properties": { - "id": { - "description": "The Id of the offer.", - "type": "string" - }, - "jobId": { - "description": "The Id of the job.", - "type": "string" - }, - "capacityCost": { - "format": "int32", - "description": "The capacity cost consumed by the job offer.", - "type": "integer" - }, - "offerTimeUtc": { - "format": "date-time", - "description": "The time the offer was created.", - "type": "string" - }, - "expiryTimeUtc": { - "format": "date-time", - "description": "The time that the offer will expire.", - "type": "string" - } - } - }, - "JobPositionDetails": { - "description": "Dto for JobPositionDetails.", - "required": [ - "estimatedWaitTimeMinutes", - "jobId", - "position", - "queueId", - "queueLength" - ], - "type": "object", - "properties": { - "jobId": { - "description": "Id of the job these details are about.", - "type": "string" - }, - "position": { - "format": "int32", - "description": "Position of the job in question within that queue.", - "type": "integer" - }, - "queueId": { - "description": "Id of the queue this job is enqueued in.", - "type": "string" - }, - "queueLength": { - "format": "int32", - "description": "Length of the queue: total number of enqueued jobs.", - "type": "integer" - }, - "estimatedWaitTimeMinutes": { - "format": "double", - "description": "Estimated wait time of the job rounded up to the nearest minute", - "type": "number" - } - } - }, - "JobQueue": { - "description": "A queue that can contain jobs to be routed.", - "type": "object", - "properties": { - "id": { - "description": "The Id of this queue", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of this queue.", - "type": "string" - }, - "distributionPolicyId": { - "description": "The ID of the distribution policy that will determine how a job is distributed to workers.", - "type": "string" - }, - "labels": { - "description": "A set of key/value pairs that are identifying attributes used by the rules engines to make decisions.", - "type": "object", - "additionalProperties": {} - }, - "exceptionPolicyId": { - "description": "(Optional) The ID of the exception policy that determines various job escalation rules.", - "type": "string" - } - } - }, - "JobQueueItem": { - "description": "Paged instance of JobQueue", - "type": "object", - "properties": { - "jobQueue": { - "$ref": "#/definitions/JobQueue" - }, - "etag": { - "description": "(Optional) The Concurrency Token.", - "type": "string" - } - } - }, - "LongestIdleMode": { - "description": "Jobs are directed to the worker who has been idle longest.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DistributionMode" - } - ], + "allOf": [ + { + "$ref": "#/definitions/ExceptionAction" + } + ], "properties": { "kind": { + "description": "The type discriminator describing ManualReclassifyExceptionAction", "type": "string" - } - }, - "x-ms-discriminator-value": "longest-idle" - }, - "ManualReclassifyExceptionAction": { - "description": "An action that manually reclassifies a job by providing the queue, priority and worker selectors.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ExceptionAction" - } - ], - "properties": { - "kind": { - "type": "string", - "readOnly": true }, "queueId": { "description": "Updated QueueId.", @@ -2519,14 +2433,32 @@ "description": "Updated WorkerSelectors.", "type": "array", "items": { - "$ref": "#/definitions/WorkerSelector" + "$ref": "#/definitions/RouterWorkerSelector" } } }, "x-ms-discriminator-value": "manual-reclassify" }, + "Oauth2ClientCredential": { + "description": "OAuth2.0 Credentials used to Contoso's Authorization server.\r\nReference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/", + "type": "object", + "properties": { + "clientId": { + "description": "ClientId for Contoso Authorization server.", + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "clientSecret": { + "description": "Client secret for Contoso Authorization server.", + "maxLength": 500, + "minLength": 0, + "type": "string" + } + } + }, "PassThroughQueueSelectorAttachment": { - "description": "Attaches a label selector where the value is pass through from the job label with the same key", + "description": "Attaches a queue selector where the value is passed through from the job label with the same key", "required": [ "key", "labelOperator" @@ -2539,8 +2471,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing PassThroughQueueSelectorAttachment", + "type": "string" }, "key": { "description": "The label key to query against", @@ -2561,14 +2493,14 @@ "type": "string", "x-ms-enum": { "name": "LabelOperator", - "modelAsString": false + "modelAsString": true } } }, "x-ms-discriminator-value": "pass-through" }, "PassThroughWorkerSelectorAttachment": { - "description": "Attaches a label selector where the value is pass through from the job label with the same key", + "description": "Attaches a worker selector where the value is passed through from the job label with the same key", "required": [ "key", "labelOperator" @@ -2581,8 +2513,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing PassThroughWorkerSelectorAttachment", + "type": "string" }, "key": { "description": "The label key to query against", @@ -2603,10 +2535,10 @@ "type": "string", "x-ms-enum": { "name": "LabelOperator", - "modelAsString": false + "modelAsString": true } }, - "ttlSeconds": { + "expiresAfterSeconds": { "format": "double", "description": "Describes how long the attached label selector is valid in seconds.", "type": "number" @@ -2614,29 +2546,9 @@ }, "x-ms-discriminator-value": "pass-through" }, - "QueueAssignment": { - "description": "An assignment of a worker to a queue", - "type": "object", - "properties": {} - }, - "QueueCollection": { - "description": "A paged collection of queues.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/JobQueueItem" - } - }, - "nextLink": { - "type": "string", - "readOnly": true - } - } + "QueueAndMatchMode": { + "description": "Describes a matching mode where matching worker to a job is automatically started after job is queued successfully.", + "type": "object" }, "QueueLengthExceptionTrigger": { "description": "Trigger for an exception action on exceeding queue length", @@ -2646,11 +2558,12 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/JobExceptionTrigger" + "$ref": "#/definitions/ExceptionTrigger" } ], "properties": { "kind": { + "description": "The type discriminator describing a sub-type of QueueLengthExceptionTrigger", "type": "string" }, "threshold": { @@ -2661,92 +2574,24 @@ }, "x-ms-discriminator-value": "queue-length" }, - "QueueSelector": { - "description": "Describes a condition that must be met against a set of labels for queue selection", - "required": [ - "key", - "labelOperator" - ], - "type": "object", - "properties": { - "key": { - "description": "The label key to query against", - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "labelOperator": { - "description": "Describes how the value of the label is compared to the value defined on the label selector", - "enum": [ - "equal", - "notEqual", - "lessThan", - "lessThanEqual", - "greaterThan", - "greaterThanEqual" - ], - "type": "string", - "x-ms-enum": { - "name": "LabelOperator", - "modelAsString": false - } - }, - "value": { - "description": "The value to compare against the actual label value with the given operator", - "type": "object" - } - } - }, "QueueSelectorAttachment": { - "description": "An attachment of label selectors to resolve a queue to a job from a classification policy", + "description": "An attachment of queue selectors to resolve a queue to a job from a classification policy", "required": [ "kind" ], "type": "object", "properties": { "kind": { - "description": "The type discriminator describing the type of label selector attachment", + "description": "The type discriminator describing the type of queue selector attachment", "type": "string" } }, "discriminator": "kind" }, - "QueueStatistics": { - "description": "Statistics for the queue", - "required": [ - "length", - "queueId" - ], - "type": "object", - "properties": { - "queueId": { - "description": "Id of the queue these details are about.", - "type": "string" - }, - "length": { - "format": "int32", - "description": "Length of the queue: total number of enqueued jobs.", - "type": "integer" - }, - "estimatedWaitTimeMinutes": { - "description": "The estimated wait time of this queue rounded up to the nearest minute, grouped by job priority", - "type": "object", - "additionalProperties": { - "format": "double", - "type": "number" - } - }, - "longestJobWaitTimeMinutes": { - "format": "double", - "description": "The wait time of the job that has been enqueued in this queue for the longest.", - "type": "number" - } - } - }, "QueueWeightedAllocation": { - "description": "Contains the weight percentage and label selectors to be applied if selected for weighted distributions.", + "description": "Contains the weight percentage and queue selectors to be applied if selected for weighted distributions.", "required": [ - "labelSelectors", + "queueSelectors", "weight" ], "type": "object", @@ -2756,11 +2601,11 @@ "description": "The percentage of this weight, expressed as a fraction of 1.", "type": "number" }, - "labelSelectors": { - "description": "A collection of label selectors that will be applied if this allocation is selected.", + "queueSelectors": { + "description": "A collection of queue selectors that will be applied if this allocation is selected.", "type": "array", "items": { - "$ref": "#/definitions/QueueSelector" + "$ref": "#/definitions/RouterQueueSelector" } } } @@ -2775,8 +2620,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing ReclassifyExceptionAction.", + "type": "string" }, "classificationPolicyId": { "description": "(optional) The new classification policy that will determine queue, priority and worker selectors.", @@ -2794,8 +2639,7 @@ }, "ReclassifyJobRequest": { "description": "Request payload for reclassifying jobs", - "type": "object", - "properties": {} + "type": "object" }, "ReclassifyJobResult": { "description": "Response payload from reclassifying a job", @@ -2812,6 +2656,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing RoundRobinMode", "type": "string" } }, @@ -2830,8 +2675,8 @@ "description": "Reference to an external parent context, eg. call ID.", "type": "string" }, - "jobStatus": { - "description": "The state of the Job.", + "status": { + "description": "The status of the Job.", "enum": [ "pendingClassification", "queued", @@ -2840,18 +2685,22 @@ "closed", "cancelled", "classificationFailed", - "created" + "created", + "pendingSchedule", + "scheduled", + "scheduleFailed", + "waitingForActivation" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "RouterJobStatus", - "modelAsString": false + "modelAsString": true } }, - "enqueueTimeUtc": { + "enqueuedAt": { "format": "date-time", - "description": "The time a job was queued.", + "description": "The time a job was queued in UTC.", "type": "string", "readOnly": true }, @@ -2880,14 +2729,14 @@ "description": "A collection of manually specified label selectors, which a worker must satisfy in order to process this job.", "type": "array", "items": { - "$ref": "#/definitions/WorkerSelector" + "$ref": "#/definitions/RouterWorkerSelector" } }, "attachedWorkerSelectors": { "description": "A collection of label selectors attached by a classification policy, which a worker must satisfy in order to process this job.", "type": "array", "items": { - "$ref": "#/definitions/WorkerSelector" + "$ref": "#/definitions/RouterWorkerSelector" }, "readOnly": true }, @@ -2900,7 +2749,7 @@ "description": "A collection of the assignments of the job.\r\nKey is AssignmentId.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/JobAssignment" + "$ref": "#/definitions/RouterJobAssignment" }, "readOnly": true }, @@ -2915,24 +2764,293 @@ "additionalProperties": { "type": "string" } + }, + "scheduledAt": { + "format": "date-time", + "description": "If set, job will be scheduled to be enqueued at a given time", + "type": "string", + "readOnly": true + }, + "matchingMode": { + "$ref": "#/definitions/JobMatchingMode" } } }, - "RouterJobItem": { - "description": "Paged instance of RouterJob", + "RouterJobAssignment": { + "description": "Assignment details of a job to a worker", + "required": [ + "assignedAt", + "assignmentId" + ], "type": "object", "properties": { - "routerJob": { - "$ref": "#/definitions/RouterJob" + "assignmentId": { + "description": "The Id of the job assignment.", + "minLength": 1, + "type": "string" }, - "etag": { - "description": "(Optional) The Concurrency Token.", + "workerId": { + "description": "The Id of the Worker assigned to the job.", + "type": "string" + }, + "assignedAt": { + "format": "date-time", + "description": "The assignment time of the job in UTC.", + "type": "string" + }, + "completedAt": { + "format": "date-time", + "description": "The time the job was marked as completed after being assigned in UTC.", + "type": "string" + }, + "closedAt": { + "format": "date-time", + "description": "The time the job was marked as closed after being completed in UTC.", "type": "string" } } }, - "RouterRule": { - "description": "A rule of one of the following types:\r\n \r\nStaticRule: A rule providing static rules that always return the same result, regardless of input.\r\nDirectMapRule: A rule that return the same labels as the input labels.\r\nExpressionRule: A rule providing inline expression rules.\r\nAzureFunctionRule: A rule providing a binding to an HTTP Triggered Azure Function.", + "RouterJobCollection": { + "description": "A paged collection of jobs.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouterJobItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "RouterJobItem": { + "description": "Paged instance of RouterJob", + "type": "object", + "properties": { + "job": { + "$ref": "#/definitions/RouterJob" + }, + "etag": { + "description": "(Optional) The Concurrency Token.", + "type": "string" + } + } + }, + "RouterJobOffer": { + "description": "An offer of a job to a worker", + "required": [ + "capacityCost", + "jobId", + "offerId" + ], + "type": "object", + "properties": { + "offerId": { + "description": "The Id of the offer.", + "minLength": 1, + "type": "string" + }, + "jobId": { + "description": "The Id of the job.", + "minLength": 1, + "type": "string" + }, + "capacityCost": { + "format": "int32", + "description": "The capacity cost consumed by the job offer.", + "type": "integer" + }, + "offeredAt": { + "format": "date-time", + "description": "The time the offer was created in UTC.", + "type": "string" + }, + "expiresAt": { + "format": "date-time", + "description": "The time that the offer will expire in UTC.", + "type": "string" + } + } + }, + "RouterJobPositionDetails": { + "description": "Position and estimated wait time for a job.", + "required": [ + "estimatedWaitTimeMinutes", + "jobId", + "position", + "queueId", + "queueLength" + ], + "type": "object", + "properties": { + "jobId": { + "description": "Id of the job these details are about.", + "minLength": 1, + "type": "string" + }, + "position": { + "format": "int32", + "description": "Position of the job in question within that queue.", + "type": "integer" + }, + "queueId": { + "description": "Id of the queue this job is enqueued in.", + "minLength": 1, + "type": "string" + }, + "queueLength": { + "format": "int32", + "description": "Length of the queue: total number of enqueued jobs.", + "type": "integer" + }, + "estimatedWaitTimeMinutes": { + "format": "double", + "description": "Estimated wait time of the job rounded up to the nearest minute", + "type": "number" + } + } + }, + "RouterQueue": { + "description": "A queue that can contain jobs to be routed.", + "type": "object", + "properties": { + "id": { + "description": "The Id of this queue", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of this queue.", + "type": "string" + }, + "distributionPolicyId": { + "description": "The ID of the distribution policy that will determine how a job is distributed to workers.", + "type": "string" + }, + "labels": { + "description": "A set of key/value pairs that are identifying attributes used by the rules engines to make decisions.", + "type": "object", + "additionalProperties": {} + }, + "exceptionPolicyId": { + "description": "(Optional) The ID of the exception policy that determines various job escalation rules.", + "type": "string" + } + } + }, + "RouterQueueAssignment": { + "description": "An assignment of a worker to a queue", + "type": "object" + }, + "RouterQueueCollection": { + "description": "A paged collection of queues.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouterQueueItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "RouterQueueItem": { + "description": "Paged instance of RouterQueue", + "type": "object", + "properties": { + "queue": { + "$ref": "#/definitions/RouterQueue" + }, + "etag": { + "description": "(Optional) The Concurrency Token.", + "type": "string" + } + } + }, + "RouterQueueSelector": { + "description": "Describes a condition that must be met against a set of labels for queue selection", + "required": [ + "key", + "labelOperator" + ], + "type": "object", + "properties": { + "key": { + "description": "The label key to query against", + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "labelOperator": { + "description": "Describes how the value of the label is compared to the value defined on the label selector", + "enum": [ + "equal", + "notEqual", + "lessThan", + "lessThanEqual", + "greaterThan", + "greaterThanEqual" + ], + "type": "string", + "x-ms-enum": { + "name": "LabelOperator", + "modelAsString": true + } + }, + "value": { + "description": "The value to compare against the actual label value with the given operator", + "type": "object" + } + } + }, + "RouterQueueStatistics": { + "description": "Statistics for the queue", + "required": [ + "length", + "queueId" + ], + "type": "object", + "properties": { + "queueId": { + "description": "Id of the queue these details are about.", + "minLength": 1, + "type": "string" + }, + "length": { + "format": "int32", + "description": "Length of the queue: total number of enqueued jobs.", + "type": "integer" + }, + "estimatedWaitTimeMinutes": { + "description": "The estimated wait time of this queue rounded up to the nearest minute, grouped by job priority", + "type": "object", + "additionalProperties": { + "format": "double", + "type": "number" + } + }, + "longestJobWaitTimeMinutes": { + "format": "double", + "description": "The wait time of the job that has been enqueued in this queue for the longest.", + "type": "number" + } + } + }, + "RouterRule": { + "description": "A rule of one of the following types:\r\n \r\nStaticRule: A rule providing static rules that always return the same result, regardless of input.\r\nDirectMapRule: A rule that return the same labels as the input labels.\r\nExpressionRule: A rule providing inline expression rules.\r\nAzureFunctionRule: A rule providing a binding to an HTTP Triggered Azure Function.\r\nWebhookRule: A rule providing a binding to a webserver following OAuth2.0 authentication protocol.", "required": [ "kind" ], @@ -2950,6 +3068,7 @@ "type": "object", "properties": { "id": { + "description": "Id of the worker.", "type": "string", "readOnly": true }, @@ -2961,13 +3080,17 @@ "inactive" ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "RouterWorkerState", + "modelAsString": true + } }, "queueAssignments": { "description": "The queue(s) that this worker can receive work from.", "type": "object", "additionalProperties": { - "$ref": "#/definitions/QueueAssignment" + "$ref": "#/definitions/RouterQueueAssignment" } }, "totalCapacity": { @@ -2996,7 +3119,7 @@ "description": "A list of active offers issued to this worker.", "type": "array", "items": { - "$ref": "#/definitions/JobOffer" + "$ref": "#/definitions/RouterJobOffer" }, "readOnly": true }, @@ -3004,7 +3127,7 @@ "description": "A list of assigned jobs attached to this worker.", "type": "array", "items": { - "$ref": "#/definitions/WorkerAssignment" + "$ref": "#/definitions/RouterWorkerAssignment" }, "readOnly": true }, @@ -3020,11 +3143,62 @@ } } }, + "RouterWorkerAssignment": { + "description": "The assignment for a worker to a job", + "required": [ + "assignedAt", + "assignmentId", + "capacityCost", + "jobId" + ], + "type": "object", + "properties": { + "assignmentId": { + "description": "The Id of the assignment.", + "minLength": 1, + "type": "string" + }, + "jobId": { + "description": "The Id of the Job assigned.", + "minLength": 1, + "type": "string" + }, + "capacityCost": { + "format": "int32", + "description": "The amount of capacity this assignment has consumed on the worker.", + "type": "integer" + }, + "assignedAt": { + "format": "date-time", + "description": "The assignment time of the job in UTC.", + "type": "string" + } + } + }, + "RouterWorkerCollection": { + "description": "A paged collection of workers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouterWorkerItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, "RouterWorkerItem": { "description": "Paged instance of RouterWorker", "type": "object", "properties": { - "routerWorker": { + "worker": { "$ref": "#/definitions/RouterWorker" }, "etag": { @@ -3033,8 +3207,72 @@ } } }, + "RouterWorkerSelector": { + "description": "Describes a condition that must be met against a set of labels for worker selection", + "required": [ + "key", + "labelOperator" + ], + "type": "object", + "properties": { + "key": { + "description": "The label key to query against", + "maxLength": 500, + "minLength": 0, + "type": "string" + }, + "labelOperator": { + "description": "Describes how the value of the label is compared to the value defined on the label selector", + "enum": [ + "equal", + "notEqual", + "lessThan", + "lessThanEqual", + "greaterThan", + "greaterThanEqual" + ], + "type": "string", + "x-ms-enum": { + "name": "LabelOperator", + "modelAsString": true + } + }, + "value": { + "description": "The value to compare against the actual label value with the given operator", + "type": "object" + }, + "expiresAfterSeconds": { + "format": "double", + "description": "Describes how long this label selector is valid in seconds.", + "type": "number" + }, + "expedite": { + "description": "Pushes the job to the front of the queue as long as this selector is active.", + "type": "boolean" + }, + "status": { + "description": "The status of the worker selector.", + "enum": [ + "active", + "expired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RouterWorkerSelectorStatus", + "modelAsString": true + } + }, + "expiresAt": { + "format": "date-time", + "description": "The time at which this worker selector expires in UTC", + "type": "string", + "readOnly": true + } + } + }, "RuleEngineQueueSelectorAttachment": { - "description": "Attaches labels to a worker when a RouterRule is resolved", + "description": "Attaches queue selectors to a job when the RouterRule is resolved", "required": [ "rule" ], @@ -3046,8 +3284,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing RuleEngineQueueSelectorAttachment", + "type": "string" }, "rule": { "$ref": "#/definitions/RouterRule" @@ -3056,7 +3294,7 @@ "x-ms-discriminator-value": "rule-engine" }, "RuleEngineWorkerSelectorAttachment": { - "description": "Attaches labels to a worker when a RouterRule is resolved", + "description": "Attaches worker selectors to a job when a RouterRule is resolved", "required": [ "rule" ], @@ -3068,8 +3306,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing RuleEngineWorkerSelectorAttachment", + "type": "string" }, "rule": { "$ref": "#/definitions/RouterRule" @@ -3077,13 +3315,24 @@ }, "x-ms-discriminator-value": "rule-engine" }, + "ScheduleAndSuspendMode": { + "description": "Describes a matching mode used for scheduling jobs to be queued at a future time.\r\nAt the specified time, matching worker to a job will not start automatically.", + "type": "object", + "properties": { + "scheduleAt": { + "format": "date-time", + "description": "Scheduled time.", + "type": "string" + } + } + }, "ScoringRuleOptions": { "description": "Encapsulates all options that can be passed as parameters for scoring rule with BestWorkerMode", "type": "object", "properties": { "batchSize": { "format": "int32", - "description": "(Optional) Set batch size when AllowScoringBatchOfWorkers is set to true", + "description": "(Optional) Set batch size when AllowScoringBatchOfWorkers is set to true. Defaults to 20 if not configured.", "type": "integer" }, "scoringParameters": { @@ -3098,7 +3347,7 @@ "type": "string", "x-ms-enum": { "name": "ScoringRuleParameterSelector", - "modelAsString": false + "modelAsString": true } } }, @@ -3113,9 +3362,9 @@ } }, "StaticQueueSelectorAttachment": { - "description": "Describes a label selector that will always be attached", + "description": "Describes a queue selector that will be attached to the job", "required": [ - "labelSelector" + "queueSelector" ], "type": "object", "allOf": [ @@ -3125,16 +3374,16 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing StaticQueueSelectorAttachment", + "type": "string" }, - "labelSelector": { - "$ref": "#/definitions/QueueSelector" + "queueSelector": { + "$ref": "#/definitions/RouterQueueSelector" } }, "x-ms-discriminator-value": "static" }, - "StaticRule": { + "StaticRouterRule": { "description": "A rule providing static rules that always return the same result, regardless of input.", "type": "object", "allOf": [ @@ -3144,6 +3393,7 @@ ], "properties": { "kind": { + "description": "The type discriminator describing StaticRouterRule", "type": "string" }, "value": { @@ -3156,9 +3406,9 @@ "x-ms-discriminator-value": "static-rule" }, "StaticWorkerSelectorAttachment": { - "description": "Describes a label selector that will always be attached", + "description": "Describes a worker selector that will be attached to the job", "required": [ - "labelSelector" + "workerSelector" ], "type": "object", "allOf": [ @@ -3168,15 +3418,29 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing StaticWorkerSelectorAttachment", + "type": "string" }, - "labelSelector": { - "$ref": "#/definitions/WorkerSelector" + "workerSelector": { + "$ref": "#/definitions/RouterWorkerSelector" } }, "x-ms-discriminator-value": "static" }, + "SuspendMode": { + "description": "Describes a matching mode where matching worker to a job is suspended.", + "type": "object" + }, + "UnassignJobRequest": { + "description": "Request payload for unassigning a job.", + "type": "object", + "properties": { + "suspendMatching": { + "description": "If SuspendMatching is true, then the job is not queued for re-matching with a worker.", + "type": "boolean" + } + } + }, "UnassignJobResult": { "description": "Response payload after a job has been successfully unassigned.", "required": [ @@ -3187,6 +3451,7 @@ "properties": { "jobId": { "description": "The Id of the job unassigned.", + "minLength": 1, "type": "string" }, "unassignmentCount": { @@ -3204,11 +3469,12 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/JobExceptionTrigger" + "$ref": "#/definitions/ExceptionTrigger" } ], "properties": { "kind": { + "description": "The type discriminator describing a sub-type of WaitTimeExceptionTrigger", "type": "string" }, "thresholdSeconds": { @@ -3219,8 +3485,37 @@ }, "x-ms-discriminator-value": "wait-time" }, + "WebhookRouterRule": { + "description": "A rule providing a binding to an external web server.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RouterRule" + } + ], + "properties": { + "kind": { + "description": "The type discriminator describing WebhookRouterRule", + "type": "string" + }, + "authorizationServerUri": { + "format": "uri", + "description": "Uri for Authorization Server.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/Oauth2ClientCredential" + }, + "webhookUri": { + "format": "uri", + "description": "Uri for Contoso's Web Server.", + "type": "string" + } + }, + "x-ms-discriminator-value": "webhook-rule" + }, "WeightedAllocationQueueSelectorAttachment": { - "description": "Describes multiple sets of label selectors, of which one will be selected and attached according to a weighting", + "description": "Describes multiple sets of queue selectors, of which one will be selected and attached according to a weighting", "required": [ "allocations" ], @@ -3232,8 +3527,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing WeightedAllocationQueueSelectorAttachment", + "type": "string" }, "allocations": { "description": "A collection of percentage based weighted allocations.", @@ -3246,7 +3541,7 @@ "x-ms-discriminator-value": "weighted-allocation-queue-selector" }, "WeightedAllocationWorkerSelectorAttachment": { - "description": "Describes multiple sets of label selectors, of which one will be selected and attached according to a weighting", + "description": "Describes multiple sets of worker selectors, of which one will be selected and attached according to a weighting", "required": [ "allocations" ], @@ -3258,8 +3553,8 @@ ], "properties": { "kind": { - "type": "string", - "readOnly": true + "description": "The type discriminator describing WeightedAllocationWorkerSelectorAttachment", + "type": "string" }, "allocations": { "description": "A collection of percentage based weighted allocations.", @@ -3271,138 +3566,25 @@ }, "x-ms-discriminator-value": "weighted-allocation-worker-selector" }, - "WorkerAssignment": { - "description": "The assignment for a worker to a job", - "required": [ - "assignTime", - "capacityCost", - "id", - "jobId" - ], - "type": "object", - "properties": { - "id": { - "description": "The Id of the assignment.", - "type": "string" - }, - "jobId": { - "description": "The Id of the Job assigned.", - "type": "string" - }, - "capacityCost": { - "format": "int32", - "description": "The amount of capacity this assignment has consumed on the worker.", - "type": "integer" - }, - "assignTime": { - "format": "date-time", - "description": "The assignment time of the job.", - "type": "string" - } - } - }, - "WorkerCollection": { - "description": "A paged collection of workers.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RouterWorkerItem" - } - }, - "nextLink": { - "type": "string", - "readOnly": true - } - } - }, - "WorkerSelector": { - "description": "Describes a condition that must be met against a set of labels for worker selection", - "required": [ - "key", - "labelOperator" - ], - "type": "object", - "properties": { - "key": { - "description": "The label key to query against", - "maxLength": 500, - "minLength": 0, - "type": "string" - }, - "labelOperator": { - "description": "Describes how the value of the label is compared to the value defined on the label selector", - "enum": [ - "equal", - "notEqual", - "lessThan", - "lessThanEqual", - "greaterThan", - "greaterThanEqual" - ], - "type": "string", - "x-ms-enum": { - "name": "LabelOperator", - "modelAsString": false - } - }, - "value": { - "description": "The value to compare against the actual label value with the given operator", - "type": "object" - }, - "ttlSeconds": { - "format": "double", - "description": "Describes how long this label selector is valid in seconds.", - "type": "number" - }, - "expedite": { - "description": "Pushes the job to the front of the queue as long as this selector is active.", - "type": "boolean" - }, - "state": { - "description": "The state of the worker selector.", - "enum": [ - "active", - "expired" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "WorkerSelectorState", - "modelAsString": false - } - }, - "expireTime": { - "format": "date-time", - "description": "The time at which this worker selector expires in UTC", - "type": "string", - "readOnly": true - } - } - }, "WorkerSelectorAttachment": { - "description": "An attachment which attaches WorkerSelectors to workers", + "description": "An attachment which attaches worker selectors to a job", "required": [ "kind" ], "type": "object", "properties": { "kind": { - "description": "The type discriminator describing the type of label selector attachment", + "description": "The type discriminator describing the type of worker selector attachment", "type": "string" } }, "discriminator": "kind" }, "WorkerWeightedAllocation": { - "description": "Contains the weight percentage and label selectors to be applied if selected for weighted distributions.", + "description": "Contains the weight percentage and worker selectors to be applied if selected for weighted distributions.", "required": [ - "labelSelectors", - "weight" + "weight", + "workerSelectors" ], "type": "object", "properties": { @@ -3411,11 +3593,11 @@ "description": "The percentage of this weight, expressed as a fraction of 1.", "type": "number" }, - "labelSelectors": { - "description": "A collection of label selectors that will be applied if this allocation is selected.", + "workerSelectors": { + "description": "A collection of worker selectors that will be applied if this allocation is selected.", "type": "array", "items": { - "$ref": "#/definitions/WorkerSelector" + "$ref": "#/definitions/RouterWorkerSelector" } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_CreateClassificationPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_CreateClassificationPolicy.json index 8ff5b248bcac..43c4382c23d6 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_CreateClassificationPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_CreateClassificationPolicy.json @@ -14,7 +14,7 @@ "language": "PowerFx", "expression": "1 = 1" }, - "labelSelectors": [ + "queueSelectors": [ { "key": "foo", "labelOperator": "equal", @@ -43,7 +43,36 @@ "language": "PowerFx", "expression": "1 = 1" }, - "labelSelectors": [ + "queueSelectors": [ + { + "key": "foo", + "labelOperator": "equal", + "value": "bar" + } + ] + } + ], + "prioritizationRule": { + "kind": "static-rule", + "value": "2" + }, + "workerSelectors": [] + } + }, + "201": { + "body": { + "id": "90eb00c4-234e-4df7-a231-ef7895518384", + "name": "Main", + "fallbackQueueId": "MainQueue", + "queueSelectors": [ + { + "kind": "conditional", + "condition": { + "kind": "expression-rule", + "language": "PowerFx", + "expression": "1 = 1" + }, + "queueSelectors": [ { "key": "foo", "labelOperator": "equal", diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_GetClassificationPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_GetClassificationPolicy.json index 856b2693e158..0129b480c958 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_GetClassificationPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_GetClassificationPolicy.json @@ -18,7 +18,7 @@ "language": "PowerFx", "expression": "1 = 1" }, - "labelSelectors": [ + "queueSelectors": [ { "key": "foo", "labelOperator": "equal", @@ -35,7 +35,7 @@ { "kind": "pass-through", "key": "language", - "operator": "equal" + "labelOperator": "equal" } ] } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_UpdateClassificationPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_UpdateClassificationPolicy.json index 11248d69cb78..db256e6c1a95 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_UpdateClassificationPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ClassificationPolicies_UpdateClassificationPolicy.json @@ -21,10 +21,39 @@ "language": "PowerFx", "expression": "1 = 1" }, - "labelSelectors": [ + "queueSelectors": [ { "key": "foo", - "operator": "equal", + "labelOperator": "equal", + "value": "bar" + } + ] + } + ], + "prioritizationRule": { + "kind": "static-rule", + "value": "2" + }, + "workerSelectors": [] + } + }, + "201": { + "body": { + "id": "90eb00c4-234e-4df7-a231-ef7895518384", + "name": "MainUpdate", + "fallbackQueueId": "MainQueue", + "queueSelectors": [ + { + "kind": "conditional", + "condition": { + "kind": "expression-rule", + "language": "PowerFx", + "expression": "1 = 1" + }, + "queueSelectors": [ + { + "key": "foo", + "labelOperator": "equal", "value": "bar" } ] diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_CreateDistributionPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_CreateDistributionPolicy.json index 423edaf76c58..e64543f59711 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_CreateDistributionPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_CreateDistributionPolicy.json @@ -10,7 +10,7 @@ "maxConcurrentOffers": 5, "bypassSelectors": false }, - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, "name": "Main" } }, @@ -19,7 +19,20 @@ "body": { "id": "d9033d56-659c-437a-b5b7-4f3b14301dd4", "name": "Main", - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, + "mode": { + "kind": "longest-idle", + "minConcurrentOffers": 1, + "maxConcurrentOffers": 5, + "bypassSelectors": false + } + } + }, + "201": { + "body": { + "id": "d9033d56-659c-437a-b5b7-4f3b14301dd4", + "name": "Main", + "offerExpiresAfterSeconds": 300, "mode": { "kind": "longest-idle", "minConcurrentOffers": 1, diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_GetDistributionPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_GetDistributionPolicy.json index a626db14e183..458ff4f53e99 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_GetDistributionPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_GetDistributionPolicy.json @@ -9,7 +9,7 @@ "body": { "id": "MainDistributionPolicy", "name": "Main", - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, "mode": { "kind": "longest-idle", "minConcurrentOffers": 1, diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_ListDistributionPoliciesWithPageSize.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_ListDistributionPoliciesWithPageSize.json index 92f63e7c748f..5cbbe1e72b9e 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_ListDistributionPoliciesWithPageSize.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_ListDistributionPoliciesWithPageSize.json @@ -12,7 +12,7 @@ "distributionPolicy": { "id": "SecondaryDistributionPolicy", "name": "Secondary", - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, "mode": { "kind": "round-robin", "minConcurrentOffers": 1, @@ -26,7 +26,7 @@ "distributionPolicy": { "id": "MainDistributionPolicy", "name": "Main", - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, "mode": { "kind": "longest-idle", "minConcurrentOffers": 1, diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_UpdateDistributionPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_UpdateDistributionPolicy.json index 423edaf76c58..e64543f59711 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_UpdateDistributionPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/DistributionPolicies_UpdateDistributionPolicy.json @@ -10,7 +10,7 @@ "maxConcurrentOffers": 5, "bypassSelectors": false }, - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, "name": "Main" } }, @@ -19,7 +19,20 @@ "body": { "id": "d9033d56-659c-437a-b5b7-4f3b14301dd4", "name": "Main", - "offerTtlSeconds": 300, + "offerExpiresAfterSeconds": 300, + "mode": { + "kind": "longest-idle", + "minConcurrentOffers": 1, + "maxConcurrentOffers": 5, + "bypassSelectors": false + } + } + }, + "201": { + "body": { + "id": "d9033d56-659c-437a-b5b7-4f3b14301dd4", + "name": "Main", + "offerExpiresAfterSeconds": 300, "mode": { "kind": "longest-idle", "minConcurrentOffers": 1, diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_CreateExceptionPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_CreateExceptionPolicy.json index bd1324978c74..f932e59c4a6e 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_CreateExceptionPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_CreateExceptionPolicy.json @@ -47,6 +47,29 @@ } } } + }, + "201": { + "body": { + "id": "cf1cda69-6f41-45ac-b252-213293f1b1cb", + "name": "Main", + "exceptionRules": { + "MaxWaitTimeExceeded": { + "trigger": { + "kind": "wait-time", + "thresholdSeconds": 20 + }, + "actions": { + "MoveJobToEscalatedQueue": { + "kind": "reclassify", + "classificationPolicyId": "Main", + "labelsToUpsert": { + "escalated": true + } + } + } + } + } + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_UpdateExceptionPolicy.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_UpdateExceptionPolicy.json index dd5e5f365943..860e98a4bd25 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_UpdateExceptionPolicy.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/ExceptionPolicies_UpdateExceptionPolicy.json @@ -47,6 +47,29 @@ } } } + }, + "201": { + "body": { + "id": "cf1cda69-6f41-45ac-b252-213293f1b1cb", + "name": "Main test", + "exceptionRules": { + "MaxWaitTimeExceeded": { + "trigger": { + "kind": "wait-time", + "thresholdSeconds": 20 + }, + "actions": { + "MoveJobToEscalatedQueue": { + "kind": "reclassify", + "classificationPolicyId": "Main", + "labelsToUpsert": { + "escalated": true + } + } + } + } + } + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CloseJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CloseJob.json index 116e379e6d5a..3ef1667ada2a 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CloseJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CloseJob.json @@ -5,7 +5,8 @@ "id": "8780b28c-7079-4de1-9143-4d369289e958", "closeJobRequest": { "assignmentId": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "dispositionCode": "JobCompleted." + "dispositionCode": "JobCompleted.", + "note": "Closing job" } }, "responses": { diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CompleteJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CompleteJob.json index 2317cc2084e5..5e4cb3ce3c1b 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CompleteJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CompleteJob.json @@ -4,7 +4,8 @@ "api-version": "2022-07-18-preview", "id": "8780b28c-7079-4de1-9143-4d369289e958", "completeJobRequest": { - "assignmentId": "1d5896f3-8b54-40be-82d3-910323f5e2af" + "assignmentId": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "note": "Completing job" } }, "responses": { diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateJob.json index c23e72f4faf8..ceab14d181b5 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateJob.json @@ -15,7 +15,13 @@ "value": true } ], - "labels": {} + "labels": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } } }, "responses": { @@ -23,8 +29,39 @@ "body": { "id": "JobId", "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "jobStatus": "queued", - "enqueueTimeUtc": "2021-09-30T23:59:04.5311999+00:00", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", + "channelId": "CustomChatChannel", + "classificationPolicyId": null, + "queueId": "MainQueue", + "priority": 5, + "dispositionCode": null, + "requestedWorkerSelectors": [ + { + "key": "Sales", + "labelOperator": "equal", + "value": true, + "expiresAfterSeconds": null + } + ], + "attachedWorkerSelectors": [], + "labels": {}, + "assignments": {}, + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } + } + }, + "201": { + "body": { + "id": "JobId", + "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", "channelId": "CustomChatChannel", "classificationPolicyId": null, "queueId": "MainQueue", @@ -35,13 +72,19 @@ "key": "Sales", "labelOperator": "equal", "value": true, - "ttlSeconds": null + "expiresAfterSeconds": null } ], "attachedWorkerSelectors": [], "labels": {}, "assignments": {}, - "notes": {} + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateScheduledJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateScheduledJob.json new file mode 100644 index 000000000000..f194ed2bf6b1 --- /dev/null +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_CreateScheduledJob.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "endpoint": "https://contoso.westus.communications.azure.com", + "api-version": "2022-07-18-preview", + "id": "JobId", + "patch": { + "channelId": "CustomChatChannel", + "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "queueId": "MainQueue", + "priority": 5, + "requestedWorkerSelectors": [ + { + "key": "Sales", + "labelOperator": "equal", + "value": true + } + ], + "labels": {}, + "matchingMode": { + "modeType": "scheduleAndSuspendMode", + "queueAndMatchMode": null, + "scheduleAndSuspendMode": { + "scheduleAt": "2023-05-26T23:22:12.0774222+00:00" + }, + "suspendMode": null + } + } + }, + "responses": { + "200": { + "body": { + "id": "JobId", + "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", + "channelId": "CustomChatChannel", + "classificationPolicyId": null, + "queueId": "MainQueue", + "priority": 5, + "dispositionCode": null, + "requestedWorkerSelectors": [ + { + "key": "Sales", + "labelOperator": "equal", + "value": true, + "expiresAfterSeconds": null + } + ], + "attachedWorkerSelectors": [], + "labels": {}, + "assignments": {}, + "notes": {}, + "matchingMode": { + "modeType": "scheduleAndSuspendMode", + "queueAndMatchMode": null, + "scheduleAndSuspendMode": { + "scheduleAt": "2023-05-26T23:22:12.0774222+00:00" + }, + "suspendMode": null + }, + "scheduledAt": null + } + }, + "201": { + "body": { + "id": "JobId", + "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", + "channelId": "CustomChatChannel", + "classificationPolicyId": null, + "queueId": "MainQueue", + "priority": 5, + "dispositionCode": null, + "requestedWorkerSelectors": [ + { + "key": "Sales", + "labelOperator": "equal", + "value": true, + "expiresAfterSeconds": null + } + ], + "attachedWorkerSelectors": [], + "labels": {}, + "assignments": {}, + "notes": {}, + "matchingMode": { + "modeType": "scheduleAndSuspendMode", + "queueAndMatchMode": null, + "scheduleAndSuspendMode": { + "scheduleAt": "2023-05-26T23:22:12.0774222+00:00" + }, + "suspendMode": null + }, + "scheduledAt": null + } + } + } +} diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJob.json index 59ea8f552e52..4281ace192f4 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJob.json @@ -9,8 +9,8 @@ "body": { "id": "8780b28c-7079-4de1-9143-4d369289e958", "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "jobStatus": "queued", - "enqueueTimeUtc": "2021-09-30T23:59:04.5311999+00:00", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", "channelId": "CustomVoiceChannel", "classificationPolicyId": null, "queueId": "MainQueue", @@ -21,13 +21,19 @@ "key": "Sales", "labelOperator": "equal", "value": true, - "ttlSeconds": null + "expiresAfterSeconds": null } ], "attachedWorkerSelectors": [], "labels": {}, "assignments": {}, - "notes": {} + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJobsWithPageSize.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJobsWithPageSize.json index c50b00b3580e..21603b03288e 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJobsWithPageSize.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_GetJobsWithPageSize.json @@ -12,11 +12,11 @@ "body": { "value": [ { - "routerJob": { + "job": { "id": "383541b3-5637-4af6-8aac-3391da8a578a", "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "jobStatus": "queued", - "enqueueTimeUtc": "2021-09-30T23:56:21.883322+00:00", + "status": "queued", + "enqueuedAt": "2021-09-30T23:56:21.883322+00:00", "channelId": "CustomChatChannel", "classificationPolicyId": null, "queueId": "MainQueue", @@ -24,16 +24,22 @@ "dispositionCode": null, "labels": {}, "assignments": {}, - "notes": {} + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } }, "etag": "etag" }, { - "routerJob": { + "job": { "id": "c571dd84-1ca7-4606-a77a-f38d9e4ae513", "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "jobStatus": "queued", - "enqueueTimeUtc": "2021-09-30T23:57:54.041179+00:00", + "status": "queued", + "enqueuedAt": "2021-09-30T23:57:54.041179+00:00", "channelId": "CustomChatChannel2", "classificationPolicyId": null, "queueId": "MainQueue", @@ -41,7 +47,13 @@ "dispositionCode": null, "labels": {}, "assignments": {}, - "notes": {} + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } }, "etag": "etag" } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UnassignJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UnassignJob.json index 4ea1116b082b..3c4f782d560b 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UnassignJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UnassignJob.json @@ -3,7 +3,10 @@ "endpoint": "https://contoso.westus.communications.azure.com", "api-version": "2022-07-18-preview", "id": "8780b28c-7079-4de1-9143-4d369289e958", - "assignmentId": "1d5896f3-8b54-40be-82d3-910323f5e2af" + "assignmentId": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "unassignJobRequest": { + "suspendMatching": false + } }, "responses": { "200": { diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UpdateJob.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UpdateJob.json index d9acf28bab39..8190f25baaad 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UpdateJob.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Jobs_UpdateJob.json @@ -12,8 +12,8 @@ "body": { "id": "383541b3-5637-4af6-8aac-3391da8a578a", "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", - "jobStatus": "queued", - "enqueueTimeUtc": "2021-09-30T23:59:04.5311999+00:00", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", "channelId": "CustomVoiceChannel", "classificationPolicyId": null, "queueId": "MainQueue", @@ -24,13 +24,50 @@ "key": "Sales", "labelOperator": "equal", "value": true, - "ttlSeconds": null + "expiresAfterSeconds": null } ], "attachedWorkerSelectors": [], "labels": {}, "assignments": {}, - "notes": {} + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } + } + }, + "201": { + "body": { + "id": "383541b3-5637-4af6-8aac-3391da8a578a", + "channelReference": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "status": "queued", + "enqueuedAt": "2021-09-30T23:59:04.5311999+00:00", + "channelId": "CustomVoiceChannel", + "classificationPolicyId": null, + "queueId": "MainQueue", + "priority": 5, + "dispositionCode": null, + "requestedWorkerSelectors": [ + { + "key": "Sales", + "labelOperator": "equal", + "value": true, + "expiresAfterSeconds": null + } + ], + "attachedWorkerSelectors": [], + "labels": {}, + "assignments": {}, + "notes": {}, + "matchingMode": { + "modeType": "queueAndMatchMode", + "queueAndMatchMode": {}, + "scheduleAndSuspendMode": null, + "suspendMode": null + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Offers_DeclineJobOffer.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Offers_DeclineJobOffer.json index b95b2306fdd3..a0fffb9fa735 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Offers_DeclineJobOffer.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Offers_DeclineJobOffer.json @@ -3,7 +3,10 @@ "endpoint": "https://contoso.westus.communications.azure.com", "api-version": "2022-07-18-preview", "workerId": "DefaultWorker", - "offerId": "1d5896f3-8b54-40be-82d3-910323f5e2af" + "offerId": "1d5896f3-8b54-40be-82d3-910323f5e2af", + "declineJobOfferRequest": { + "retryOfferAt": "2023-05-26T00:00:00.0000000Z" + } }, "responses": { "200": { diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_CreateQueue.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_CreateQueue.json index 516ddc8ee317..9d62d76d3c22 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_CreateQueue.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_CreateQueue.json @@ -8,9 +8,7 @@ "name": "Main", "labels": {}, "exceptionPolicyId": "MainExceptionPolicy" - }, - "repeatabilityRequestId": "5aac88f9-d24a-4c53-9d90-86a801667cbe", - "repeatabilityFirstSent": "Tue, 23 Nov 2021 08:49:37 GMT" + } }, "responses": { "200": { @@ -21,6 +19,15 @@ "labels": {}, "exceptionPolicyId": "MainExceptionPolicy" } + }, + "201": { + "body": { + "id": "246d5a06-c04a-4b6b-8a34-02bbd9fdad68", + "name": "Main", + "distributionPolicyId": "MainDistributionPolicy", + "labels": {}, + "exceptionPolicyId": "MainExceptionPolicy" + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_ListQueuesWithPageSize.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_ListQueuesWithPageSize.json index 83c42f9feac1..931f665e05d2 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_ListQueuesWithPageSize.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_ListQueuesWithPageSize.json @@ -9,7 +9,7 @@ "body": { "value": [ { - "jobQueue": { + "queue": { "id": "MainQueue", "name": "Main", "distributionPolicyId": "MainDistributionPolicy", @@ -19,7 +19,7 @@ "etag": "etag" }, { - "jobQueue": { + "queue": { "id": "SecondaryQueue", "name": "Secondary", "distributionPolicyId": "SecondaryDistributionPolicy", diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_UpdateQueue.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_UpdateQueue.json index b2546df698d0..29f8024b1908 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_UpdateQueue.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Queues_UpdateQueue.json @@ -17,6 +17,15 @@ "labels": {}, "exceptionPolicyId": "MainExceptionPolicy" } + }, + "201": { + "body": { + "id": "MainQueue", + "name": "Main", + "distributionPolicyId": "MainDistributionPolicy", + "labels": {}, + "exceptionPolicyId": "MainExceptionPolicy" + } } } } diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_CreateWorker.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_CreateWorker.json index 6cee0f131a8d..214f7a895dd0 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_CreateWorker.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_CreateWorker.json @@ -13,10 +13,12 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "availableForOffers": false @@ -35,10 +37,38 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 + } + }, + "offers": [], + "assignedJobs": [], + "loadRatio": 0, + "availableForOffers": false + } + }, + "201": { + "body": { + "id": "WorkerId", + "state": "inactive", + "queueAssignments": { + "MainQueue": {} + }, + "totalCapacity": 10, + "labels": {}, + "tags": {}, + "channelConfigurations": { + "CustomChatChannel": { + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 + }, + "CustomVoiceChannel": { + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterActiveWorker.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterActiveWorker.json index d4c7d38068f6..548b2074f72a 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterActiveWorker.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterActiveWorker.json @@ -21,10 +21,38 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 + } + }, + "offers": [], + "assignedJobs": [], + "loadRatio": 0, + "availableForOffers": false + } + }, + "201": { + "body": { + "id": "WorkerId", + "state": "draining", + "queueAssignments": { + "MainQueue": {} + }, + "totalCapacity": 10, + "labels": {}, + "tags": {}, + "channelConfigurations": { + "CustomChatChannel": { + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 + }, + "CustomVoiceChannel": { + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterInactiveWorker.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterInactiveWorker.json index 4dc70bac9356..08ae919f625a 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterInactiveWorker.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_DeregisterInactiveWorker.json @@ -21,10 +21,38 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 + } + }, + "offers": [], + "assignedJobs": [], + "loadRatio": 0, + "availableForOffers": false + } + }, + "201": { + "body": { + "id": "WorkerId", + "state": "inactive", + "queueAssignments": { + "MainQueue": {} + }, + "totalCapacity": 10, + "labels": {}, + "tags": {}, + "channelConfigurations": { + "CustomChatChannel": { + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 + }, + "CustomVoiceChannel": { + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetAvailableWorkersByChannel.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetAvailableWorkersByChannel.json index d3ae0d142b7c..49872a55c30d 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetAvailableWorkersByChannel.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetAvailableWorkersByChannel.json @@ -2,7 +2,7 @@ "parameters": { "endpoint": "https://contoso.westus.communications.azure.com", "api-version": "2022-07-18-preview", - "status": "active", + "state": "active", "channelId": "CustomChatChannel", "hasCapacity": true }, @@ -11,7 +11,7 @@ "body": { "value": [ { - "routerWorker": { + "worker": { "id": "DefaultWorker", "state": "active", "queueAssignments": { @@ -23,10 +23,12 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 100 + "capacityCostPerJob": 100, + "maxNumberOfJobs": 1 } }, "offers": [], @@ -37,7 +39,7 @@ "etag": "etag" }, { - "routerWorker": { + "worker": { "id": "SecondWorker", "state": "active", "queueAssignments": { @@ -49,10 +51,12 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 100 + "capacityCostPerJob": 100, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetWorkersWithPageSize.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetWorkersWithPageSize.json index 3748c4bb48d9..fa43399597a4 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetWorkersWithPageSize.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_GetWorkersWithPageSize.json @@ -9,7 +9,7 @@ "body": { "value": [ { - "routerWorker": { + "worker": { "id": "DefaultWorker", "state": "active", "queueAssignments": { @@ -21,10 +21,12 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 100 + "capacityCostPerJob": 100, + "maxNumberOfJobs": 1 } }, "offers": [], @@ -35,7 +37,7 @@ "etag": "etag" }, { - "routerWorker": { + "worker": { "id": "SecondWorker", "state": "active", "queueAssignments": { @@ -47,10 +49,12 @@ "tags": {}, "channelConfigurations": { "CustomEmailChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 4 }, "CustomSMSChannel": { - "capacityCostPerJob": 100 + "capacityCostPerJob": 100, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_RegisterWorker.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_RegisterWorker.json index bcd1f5a365b3..04040fd1df99 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_RegisterWorker.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_RegisterWorker.json @@ -21,10 +21,38 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 + } + }, + "offers": [], + "assignedJobs": [], + "loadRatio": 0, + "availableForOffers": true + } + }, + "201": { + "body": { + "id": "WorkerId", + "state": "active", + "queueAssignments": { + "MainQueue": {} + }, + "totalCapacity": 10, + "labels": {}, + "tags": {}, + "channelConfigurations": { + "CustomChatChannel": { + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 + }, + "CustomVoiceChannel": { + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_UpdateWorker.json b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_UpdateWorker.json index 6cee0f131a8d..214f7a895dd0 100644 --- a/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_UpdateWorker.json +++ b/specification/communication/data-plane/JobRouter/preview/2022-07-18-preview/examples/Workers_UpdateWorker.json @@ -13,10 +13,12 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "availableForOffers": false @@ -35,10 +37,38 @@ "tags": {}, "channelConfigurations": { "CustomChatChannel": { - "capacityCostPerJob": 11 + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 }, "CustomVoiceChannel": { - "capacityCostPerJob": 10 + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 + } + }, + "offers": [], + "assignedJobs": [], + "loadRatio": 0, + "availableForOffers": false + } + }, + "201": { + "body": { + "id": "WorkerId", + "state": "inactive", + "queueAssignments": { + "MainQueue": {} + }, + "totalCapacity": 10, + "labels": {}, + "tags": {}, + "channelConfigurations": { + "CustomChatChannel": { + "capacityCostPerJob": 11, + "maxNumberOfJobs": 4 + }, + "CustomVoiceChannel": { + "capacityCostPerJob": 10, + "maxNumberOfJobs": 1 } }, "offers": [], diff --git a/specification/communication/data-plane/JobRouter/readme.md b/specification/communication/data-plane/JobRouter/readme.md index 63e7979b2c1b..9fb06a381347 100644 --- a/specification/communication/data-plane/JobRouter/readme.md +++ b/specification/communication/data-plane/JobRouter/readme.md @@ -55,12 +55,6 @@ directive: transform: > $.type = "object"; $.additionalProperties["$ref"] = "#/definitions/ExceptionAction"; - -# Rename CommunicationError to JobRouterError - - from: swagger-document - where: '$.definitions.CommunicationError' - transform: > - $["x-ms-client-name"] = "JobRouterError"; ``` diff --git a/specification/communication/data-plane/PhoneNumbers/preview/2023-05-01-preview/phonenumbers.json b/specification/communication/data-plane/PhoneNumbers/preview/2023-05-01-preview/phonenumbers.json index c671f76c0379..e83d71c6f80b 100644 --- a/specification/communication/data-plane/PhoneNumbers/preview/2023-05-01-preview/phonenumbers.json +++ b/specification/communication/data-plane/PhoneNumbers/preview/2023-05-01-preview/phonenumbers.json @@ -1515,6 +1515,10 @@ "modelAsString": true } }, + "isoCountryCode": { + "description": "ISO 3166-1 two character ('alpha-2') code associated with the phone number.", + "type": "string" + }, "operatorDetails": { "$ref": "#/definitions/OperatorDetails" } diff --git a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-08-01/computeRPCommon.json b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-08-01/computeRPCommon.json index 08c547b70aac..ecb193363008 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-08-01/computeRPCommon.json +++ b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-08-01/computeRPCommon.json @@ -438,7 +438,7 @@ "properties": { "vmSize": { "type": "string", - "description": "Specifies the size of the virtual machine.

The enum data type is currently deprecated and will be removed by December 23rd 2023.

Recommended way to get the list of available sizes is using these APIs:

[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

[List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).

The available VM sizes depend on region and availability set.", + "description": "Specifies the size of the virtual machine. The enum data type is currently deprecated and will be removed by December 23rd 2023. Recommended way to get the list of available sizes is using these APIs: [List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes) [List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list) [List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes). The available VM sizes depend on region and availability set.", "enum": [ "Basic_A0", "Basic_A1", @@ -614,7 +614,7 @@ }, "vmSizeProperties": { "$ref": "#/definitions/VMSizeProperties", - "description": "Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet.

Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details." + "description": "Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details." } }, "description": "Specifies the hardware settings for the virtual machine." @@ -625,12 +625,12 @@ "vCPUsAvailable": { "type": "integer", "format": "int32", - "description": "Specifies the number of vCPUs available for the VM.

When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) ." + "description": "Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) ." }, "vCPUsPerCore": { "type": "integer", "format": "int32", - "description": "Specifies the vCPU to physical core ratio.

When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)

Setting this property to 1 also means that hyper-threading is disabled." + "description": "Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) Setting this property to 1 also means that hyper-threading is disabled." } }, "description": "Specifies VM Size Property settings on the virtual machine." @@ -684,7 +684,7 @@ "name": "DiskControllerTypes", "modelAsString": true }, - "description": "Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list) .
For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes." + "description": "Specifies the disk controller type configured for the VM and VirtualMachineScaleSet. This property is only supported for virtual machines whose operating system disk and VM sku supports Generation 2 (https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2), please check the HyperVGenerations capability returned as part of VM sku capabilities in the response of Microsoft.Compute SKUs api for the region contains V2 (https://docs.microsoft.com/rest/api/compute/resourceskus/list) . For more information about Disk Controller Types supported please refer to https://aka.ms/azure-diskcontrollertypes." }, "KeyVaultSecretReference": { "properties": { @@ -709,7 +709,7 @@ "$ref": "../../../common-types/v1/common.json#/definitions/SubResource" } ], - "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk. NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." }, "KeyVaultKeyReference": { "properties": { @@ -750,7 +750,7 @@ "properties": { "securityEncryptionType": { "type": "string", - "description": "Specifies the EncryptionType of the managed disk.
It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob.

NOTE: It can be set for only Confidential VMs.", + "description": "Specifies the EncryptionType of the managed disk. It is set to DiskWithVMGuestState for encryption of the managed disk along with VMGuestState blob, and VMGuestStateOnly for encryption of just the VMGuestState blob. NOTE: It can be set for only Confidential VMs.", "enum": [ "VMGuestStateOnly", "DiskWithVMGuestState" @@ -765,7 +765,7 @@ "description": "Specifies the customer managed disk encryption set resource id for the managed disk that is used for Customer Managed Key encrypted ConfidentialVM OS Disk and VMGuest blob." } }, - "description": "Specifies the security profile settings for the managed disk.

NOTE: It can only be set for Confidential VMs" + "description": "Specifies the security profile settings for the managed disk. NOTE: It can only be set for Confidential VMs" }, "VirtualHardDisk": { "properties": { @@ -778,7 +778,7 @@ }, "Caching": { "type": "string", - "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**", + "description": "Specifies the caching requirements. Possible values are: **None** **ReadOnly** **ReadWrite** Default: **None for Standard storage. ReadOnly for Premium storage**", "enum": [ "None", "ReadOnly", @@ -791,7 +791,7 @@ }, "CreateOption": { "type": "string", - "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.", + "description": "Specifies how the virtual machine should be created. Possible values are: **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine. **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.", "enum": [ "FromImage", "Empty", @@ -804,7 +804,7 @@ }, "DetachOption": { "type": "string", - "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.

detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.", + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**. detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.", "enum": [ "ForceDetach" ], @@ -815,7 +815,7 @@ }, "DeleteOption": { "type": "string", - "description": "Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values:

**Delete** If this value is used, the managed disk is deleted when VM gets deleted.

**Detach** If this value is used, the managed disk is retained after VM gets deleted.

Minimum api-version: 2021-03-01", + "description": "Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values: **Delete** If this value is used, the managed disk is deleted when VM gets deleted. **Detach** If this value is used, the managed disk is retained after VM gets deleted. Minimum api-version: 2021-03-01", "enum": [ "Delete", "Detach" @@ -873,10 +873,10 @@ }, "placement": { "$ref": "#/definitions/DiffDiskPlacement", - "description": "Specifies the ephemeral disk placement for operating system disk.

Possible values are:

**CacheDisk**

**ResourceDisk**

Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.

Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." + "description": "Specifies the ephemeral disk placement for operating system disk. Possible values are: **CacheDisk** **ResourceDisk** Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." } }, - "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

NOTE: The ephemeral disk settings can only be specified for managed disk." + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk. NOTE: The ephemeral disk settings can only be specified for managed disk." }, "ManagedDiskParameters": { "properties": { @@ -904,7 +904,7 @@ "properties": { "osType": { "type": "string", - "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

Possible values are:

**Windows**

**Linux**", + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows** **Linux**", "enum": [ "Windows", "Linux" @@ -916,7 +916,7 @@ }, "encryptionSettings": { "$ref": "#/definitions/DiskEncryptionSettings", - "description": "Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15" + "description": "Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15" }, "name": { "type": "string", @@ -932,7 +932,7 @@ }, "caching": { "$ref": "#/definitions/Caching", - "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None** for Standard storage. **ReadOnly** for Premium storage." + "description": "Specifies the caching requirements. Possible values are: **None** **ReadOnly** **ReadWrite** Default: **None** for Standard storage. **ReadOnly** for Premium storage." }, "writeAcceleratorEnabled": { "type": "boolean", @@ -944,12 +944,12 @@ }, "createOption": { "$ref": "#/definitions/CreateOption", - "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "Specifies how the virtual machine should be created. Possible values are: **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine. **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, "diskSizeGB": { "type": "integer", "format": "int32", - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023" + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023" }, "managedDisk": { "description": "The managed disk parameters.", @@ -957,13 +957,13 @@ }, "deleteOption": { "$ref": "#/definitions/DeleteOption", - "description": "Specifies whether OS Disk should be deleted or detached upon VM deletion.

Possible values:

**Delete** If this value is used, the OS disk is deleted when VM is deleted.

**Detach** If this value is used, the os disk is retained after VM is deleted.

The default value is set to **detach**. For an ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for ephemeral OS Disk." + "description": "Specifies whether OS Disk should be deleted or detached upon VM deletion. Possible values: **Delete** If this value is used, the OS disk is deleted when VM is deleted. **Detach** If this value is used, the os disk is retained after VM is deleted. The default value is set to **detach**. For an ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for ephemeral OS Disk." } }, "required": [ "createOption" ], - "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." + "description": "Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "DataDisk": { "properties": { @@ -986,7 +986,7 @@ }, "caching": { "$ref": "#/definitions/Caching", - "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**" + "description": "Specifies the caching requirements. Possible values are: **None** **ReadOnly** **ReadWrite** Default: **None for Standard storage. ReadOnly for Premium storage**" }, "writeAcceleratorEnabled": { "type": "boolean", @@ -994,12 +994,12 @@ }, "createOption": { "$ref": "#/definitions/CreateOption", - "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "description": "Specifies how the virtual machine should be created. Possible values are: **Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine. **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, "diskSizeGB": { "type": "integer", "format": "int32", - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023" + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. diskSizeGB is the number of bytes x 1024^3 for the disk and the value cannot be larger than 1023" }, "managedDisk": { "description": "The managed disk parameters.", @@ -1023,11 +1023,11 @@ }, "detachOption": { "$ref": "#/definitions/DetachOption", - "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.

detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'." + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**. detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'." }, "deleteOption": { "$ref": "#/definitions/DeleteOption", - "description": "Specifies whether data disk should be deleted or detached upon VM deletion.

Possible values:

**Delete** If this value is used, the data disk is deleted when VM is deleted.

**Detach** If this value is used, the data disk is retained after VM is deleted.

The default value is set to **detach**" + "description": "Specifies whether data disk should be deleted or detached upon VM deletion. Possible values: **Delete** If this value is used, the data disk is deleted when VM is deleted. **Detach** If this value is used, the data disk is retained after VM is deleted. The default value is set to **detach**" } }, "required": [ @@ -1054,7 +1054,7 @@ }, "osDisk": { "$ref": "#/definitions/OSDisk", - "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." + "description": "Specifies information about the operating system disk used by the virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "dataDisks": { "type": "array", @@ -1064,11 +1064,11 @@ "x-ms-identifiers": [ "lun" ], - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine. For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "diskControllerType": { "$ref": "#/definitions/DiskControllerType", - "description": "Specifies the disk controller type configured for the VM.

NOTE: This property will be set to the default disk controller type if not specified provided virtual machine is being created as a hyperVGeneration: V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version.
You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM.

Minimum api-version: 2022-08-01" + "description": "Specifies the disk controller type configured for the VM. NOTE: This property will be set to the default disk controller type if not specified provided virtual machine is being created as a hyperVGeneration: V2 based on the capabilities of the operating system disk and VM size from the the specified minimum api version. You need to deallocate the VM before updating its disk controller type unless you are updating the VM size in the VM configuration which implicitly deallocates and reallocates the VM. Minimum api-version: 2022-08-01" } }, "description": "Specifies the storage settings for the virtual machine disks." @@ -1077,28 +1077,28 @@ "properties": { "secureBootEnabled": { "type": "boolean", - "description": "Specifies whether secure boot should be enabled on the virtual machine.

Minimum api-version: 2020-12-01" + "description": "Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01" }, "vTpmEnabled": { "type": "boolean", - "description": "Specifies whether vTPM should be enabled on the virtual machine.

Minimum api-version: 2020-12-01" + "description": "Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01" } }, - "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.

Minimum api-version: 2020-12-01" + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01" }, "SecurityProfile": { "properties": { "uefiSettings": { "$ref": "#/definitions/UefiSettings", - "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.

Minimum api-version: 2020-12-01" + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01" }, "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.

Default: The Encryption at host will be disabled unless this property is set to true for the resource." + "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. Default: The Encryption at host will be disabled unless this property is set to true for the resource." }, "securityType": { "type": "string", - "description": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.

Default: UefiSettings will not be enabled unless this property is set.", + "description": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set.", "enum": [ "TrustedLaunch", "ConfidentialVM" @@ -1221,7 +1221,7 @@ "properties": { "protocol": { "type": "string", - "description": "Specifies the protocol of WinRM listener.

Possible values are:
**http**

**https**", + "description": "Specifies the protocol of WinRM listener. Possible values are: **http** **https**", "enum": [ "Http", "Https" @@ -1233,7 +1233,7 @@ }, "certificateUrl": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { \"data\":\"\", \"dataType\":\"pfx\", \"password\":\"\"} To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" @@ -1255,15 +1255,15 @@ "properties": { "provisionVMAgent": { "type": "boolean", - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, "enableAutomaticUpdates": { "type": "boolean", - "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." }, "timeZone": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones)." + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\". Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones)." }, "additionalUnattendContent": { "type": "array", @@ -1296,7 +1296,7 @@ }, "keyData": { "type": "string", - "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)." + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)." } }, "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." @@ -1328,7 +1328,7 @@ }, "provisionVMAgent": { "type": "boolean", - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." }, "patchSettings": { "$ref": "#/definitions/LinuxPatchSettings", @@ -1339,17 +1339,17 @@ "description": "Indicates whether VMAgent Platform Updates is enabled for the Linux virtual machine. Default value is false." } }, - "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." + "description": "Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." }, "VaultCertificate": { "properties": { "certificateUrl": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { \"data\":\"\", \"dataType\":\"pfx\", \"password\":\"\"} To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." }, "certificateStore": { "type": "string", - "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." } }, "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." @@ -1377,20 +1377,20 @@ "properties": { "computerName": { "type": "string", - "description": "Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules)." + "description": "Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules)." }, "adminUsername": { "type": "string", - "description": "Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters." + "description": "Specifies the name of the administrator account. This property cannot be updated after the VM is created. **Windows-only restriction:** Cannot end in \".\" **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\". **Minimum-length (Linux):** 1 character **Max-length (Linux):** 64 characters **Max-length (Windows):** 20 characters." }, "adminPassword": { "type": "string", - "description": "Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)", + "description": "Specifies the password of the administrator account. **Minimum-length (Windows):** 8 characters **Minimum-length (Linux):** 6 characters **Max-length (Windows):** 123 characters **Max-length (Linux):** 72 characters **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\\W_]) **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\" For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)", "x-ms-secret": true }, "customData": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

**Note: Do not pass any secrets or passwords in customData property**

This property cannot be updated after the VM is created.

customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/)

For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)" + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. **Note: Do not pass any secrets or passwords in customData property** This property cannot be updated after the VM is created. customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/) For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)" }, "windowsConfiguration": { "$ref": "#/definitions/WindowsConfiguration", @@ -1398,7 +1398,7 @@ }, "linuxConfiguration": { "$ref": "#/definitions/LinuxConfiguration", - "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." + "description": "Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." }, "secrets": { "type": "array", @@ -1412,7 +1412,7 @@ }, "allowExtensionOperations": { "type": "boolean", - "description": "Specifies whether extension operations should be allowed on the virtual machine.

This may only be set to False when no extensions are present on the virtual machine." + "description": "Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine." }, "requireGuestProvisionSignal": { "type": "boolean", @@ -1526,23 +1526,23 @@ }, "storageUri": { "type": "string", - "description": "Uri of the storage account to use for placing the console output and screenshot.

If storageUri is not specified while enabling boot diagnostics, managed storage will be used." + "description": "Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used." } }, - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor." }, "DiagnosticsProfile": { "properties": { "bootDiagnostics": { "$ref": "#/definitions/BootDiagnostics", - "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
**NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor." + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. **NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor." } }, - "description": "Specifies the boot diagnostic settings state.

Minimum api-version: 2015-06-15." + "description": "Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15." }, "priority": { "type": "string", - "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.

'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.", + "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set. 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.", "enum": [ "Regular", "Low", @@ -1570,10 +1570,10 @@ "maxPrice": { "type": "number", "format": "double", - "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: 0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01." + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01." } }, - "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

Minimum api-version: 2019-03-01." + "description": "Specifies the billing related details of a Azure Spot VM or VMSS. Minimum api-version: 2019-03-01." }, "DiskInstanceView": { "properties": { @@ -1589,7 +1589,7 @@ "x-ms-identifiers": [ "diskEncryptionKey/sourceVault/id" ], - "description": "Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15" + "description": "Specifies the encryption settings for the OS Disk. Minimum api-version: 2015-06-15" }, "statuses": { "type": "array", @@ -1607,17 +1607,17 @@ "consoleScreenshotBlobUri": { "readOnly": true, "type": "string", - "description": "The console screenshot blob URI.

NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." + "description": "The console screenshot blob URI. NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." }, "serialConsoleLogBlobUri": { "readOnly": true, "type": "string", - "description": "The serial console log blob Uri.

NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." + "description": "The serial console log blob Uri. NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." }, "status": { "readOnly": true, "$ref": "#/definitions/InstanceViewStatus", - "description": "The boot diagnostics status information for the VM.

NOTE: It will be set only if there are errors encountered in enabling boot diagnostics." + "description": "The boot diagnostics status information for the VM. NOTE: It will be set only if there are errors encountered in enabling boot diagnostics." } }, "description": "The instance view of a virtual machine boot diagnostics." diff --git a/specification/compute/resource-manager/readme.java.md b/specification/compute/resource-manager/readme.java.md index 24d5f713b792..c32731c8d597 100644 --- a/specification/compute/resource-manager/readme.java.md +++ b/specification/compute/resource-manager/readme.java.md @@ -13,4 +13,8 @@ directive: "format": "date-time", "description": "Specifies the time at which the Virtual Machine resource was created." } + - from: gallery.json + where: $.definitions.GalleryTargetExtendedLocation.properties.storageAccountType + transform: > + $['x-ms-enum'].name = "StorageAccountType" ``` \ No newline at end of file diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index c8d6a0ebd4f3..885c671ff502 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -85,6 +85,7 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/ perform-load: false +clear-output-folder: false ``` ### Tag: package-2023-03-01-only diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp index 592cc3207a39..f72944c36b49 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/proposals.tsp @@ -132,6 +132,7 @@ interface Proposals { TxIdReadHeader >; + #suppress "@azure-tools/typespec-azure-core/verb-conflict" "MUST fix in next update" @doc("Returns actions contained in a proposal.") @TypeSpec.Rest.action("actions") @TypeSpec.Rest.actionSeparator("/") diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp index b669dcafe8b0..98ef94f969b2 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp @@ -210,8 +210,8 @@ model JoinPolicy { @doc("Join policy fields specific to nodes running on AMD SEV-SNP hardware.") model SnpJoinPolicy { ...JoinPolicy; - // TODO: Work out what the actual types of these are + // TODO: Work out what the actual types of these are @doc("Collection of acceptable host data values.") hostData: Record; diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp index 7b9392987dca..0c91ea509824 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/transactions.tsp @@ -36,6 +36,7 @@ model NamedTransaction { @visibility("query") @key transactionId: transactionId; + ...Transaction; } @@ -49,6 +50,7 @@ model CommittedTransaction { @doc("Identifier of committed transaction.") transactionId: transactionId; + ...Transaction; } diff --git a/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json b/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json index 6dbbba8a23c8..382570ddf7e8 100644 --- a/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json +++ b/specification/confidentialledger/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/mccfgov.json @@ -32,59 +32,56 @@ "responses": { "200": { "description": "The request has succeeded.", - "headers": { - "x-ms-ccf-transaction-id": { - "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", - "type": "string", - "pattern": "^[0-9]+\\.[0-9]+$" - } - }, "schema": { "type": "object", + "description": "Paged collection of Proposal items", "properties": { "value": { "type": "array", + "description": "The Proposal items on this page", "items": { "$ref": "#/definitions/Proposals.Proposal" }, - "x-ms-identifiers": [], - "description": "The Proposal items on this page", - "x-typespec-name": "Proposals.Proposal[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of Proposal items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] + }, + "headers": { + "x-ms-ccf-transaction-id": { + "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+$" + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Proposals_List": { "$ref": "./examples/Proposals_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -92,6 +89,9 @@ "post": { "operationId": "Proposals_Withdraw", "description": "Withdraw an existing proposal. Only the original proposer is permitted to withdraw.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -99,8 +99,8 @@ { "name": "proposalId", "in": "path", - "required": true, "description": "Unique ID assigned to this proposal at its submission, by the service.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, @@ -111,33 +111,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.Proposal" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction where this request produced a write on the service. This uniquely identifies the submitted request, and can be used to confirm that the request becomes committed.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.Proposal" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "Proposals_Withdraw": { "$ref": "./examples/Proposals_Withdraw.json" @@ -156,8 +153,8 @@ { "name": "proposalId", "in": "path", - "required": true, "description": "Unique ID assigned to this proposal at its submission, by the service.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -165,27 +162,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.Proposal" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.Proposal" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -207,8 +204,8 @@ { "name": "proposalId", "in": "path", - "required": true, "description": "Unique ID assigned to this proposal at its submission, by the service.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -216,27 +213,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.ProposalActions" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.ProposalActions" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -251,6 +248,9 @@ "post": { "operationId": "Ballots_Submit", "description": "Submit an executable ballot for a specific proposal. This may be as simple as `return true` to vote in favour, or contain reads from the KV and conditions on the proposal contents.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -258,16 +258,16 @@ { "name": "proposalId", "in": "path", - "required": true, "description": "Unique ID assigned to this proposal at its submission, by the service.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, { "name": "memberId", "in": "path", - "required": true, "description": "ID of CCF member who signed and submitted this ballot.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, @@ -278,33 +278,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.Proposal" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction where this request produced a write on the service. This uniquely identifies the submitted request, and can be used to confirm that the request becomes committed.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.Proposal" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "Ballots_Submit": { "$ref": "./examples/Ballots_Submit.json" @@ -316,6 +313,10 @@ "get": { "operationId": "Ballots_Get", "description": "Returns a member's submitted ballot.", + "produces": [ + "text/javascript", + "application/json" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -323,16 +324,16 @@ { "name": "proposalId", "in": "path", - "required": true, "description": "Unique ID assigned to this proposal at its submission, by the service.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, { "name": "memberId", "in": "path", - "required": true, "description": "ID of CCF member who signed and submitted this ballot.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -340,34 +341,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.Ballot" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.Ballot" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "produces": [ - "text/javascript", - "application/json" - ], "x-ms-examples": { "Ballots_Get": { "$ref": "./examples/Ballots_Get.json" @@ -379,6 +376,9 @@ "post": { "operationId": "Proposals_Create", "description": "Submit a proposed change to the service. This will be assigned an ID by the service. Submitting the same signature (including signed COSE headers such as created_at) multiple times will be treated as a single idempotent operation, returning a single created proposal (or an error if it is no longer available). Any change to the request body will be treated as a new, separate proposal.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -390,33 +390,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Proposals.Proposal" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction where this request produced a write on the service. This uniquely identifies the submitted request, and can be used to confirm that the request becomes committed.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Proposals.Proposal" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "Proposals_Create": { "$ref": "./examples/Proposals_Create.json" @@ -428,6 +425,9 @@ "post": { "operationId": "StateDigests_Update", "description": "Request that this member's stateDigest is updated to a fresher value. Only this member may update their own stateDigest. Returns the refreshed value.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -435,8 +435,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "Identifier for member this stateDigest applies to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, @@ -447,33 +447,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Acks.StateDigest" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction where this request produced a write on the service. This uniquely identifies the submitted request, and can be used to confirm that the request becomes committed.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Acks.StateDigest" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "StateDigests_Update": { "$ref": "./examples/StateDigests_Update.json" @@ -485,6 +482,9 @@ "post": { "operationId": "StateDigests_Acknowledge", "description": "Submit a signed acknowledgement of a recent digest of the service status, to transition the member to Active.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -492,8 +492,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "Identifier for member this stateDigest applies to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, @@ -514,20 +514,17 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "StateDigests_Acknowledge": { "$ref": "./examples/StateDigests_Acknowledge.json" @@ -546,8 +543,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "Identifier for member this stateDigest applies to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -555,27 +552,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Acks.StateDigest" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Acks.StateDigest" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -597,8 +594,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "ID of CCF member who this recovery share belongs to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -612,14 +609,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -634,6 +631,9 @@ "post": { "operationId": "Shares_Submit", "description": "Provide a recovery share for the purpose of completing a service recovery.", + "consumes": [ + "application/cose" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -641,8 +641,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "Identifier for member this recovery state applies to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" }, @@ -653,33 +653,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Recovery.RecoveryResponse" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/Recovery.RecoveryResponse" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cose" - ], "x-ms-examples": { "Shares_Submit": { "$ref": "./examples/Shares_Submit.json" @@ -691,6 +688,10 @@ "get": { "operationId": "ServiceState_GetConstitution", "description": "Retrieve the constitution which controls governance changes on this service.", + "produces": [ + "text/javascript", + "application/json" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -699,34 +700,30 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.ConstitutionResponse" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.ConstitutionResponse" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "produces": [ - "text/javascript", - "application/json" - ], "x-ms-examples": { "ServiceState_GetConstitution": { "$ref": "./examples/ServiceState_GetConstitution.json" @@ -746,27 +743,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.ServiceInfo" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.ServiceInfo" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -789,27 +786,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.JsApp" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.JsApp" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -832,27 +829,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.JoinPolicies" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.JoinPolicies" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -875,27 +872,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.JwkInfo" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.JwkInfo" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -918,59 +915,56 @@ "responses": { "200": { "description": "The request has succeeded.", - "headers": { - "x-ms-ccf-transaction-id": { - "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", - "type": "string", - "pattern": "^[0-9]+\\.[0-9]+$" - } - }, "schema": { "type": "object", + "description": "Paged collection of Member items", "properties": { "value": { "type": "array", + "description": "The Member items on this page", "items": { "$ref": "#/definitions/ServiceState.Member" }, - "x-ms-identifiers": [], - "description": "The Member items on this page", - "x-typespec-name": "ServiceState.Member[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of Member items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] + }, + "headers": { + "x-ms-ccf-transaction-id": { + "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+$" + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "ServiceState_ListMembers": { "$ref": "./examples/ServiceState_ListMembers.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -985,8 +979,8 @@ { "name": "memberId", "in": "path", - "required": true, "description": "ID of CCF member who this object refers to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -994,27 +988,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.Member" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.Member" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -1037,59 +1031,56 @@ "responses": { "200": { "description": "The request has succeeded.", - "headers": { - "x-ms-ccf-transaction-id": { - "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", - "type": "string", - "pattern": "^[0-9]+\\.[0-9]+$" - } - }, "schema": { "type": "object", + "description": "Paged collection of Node items", "properties": { "value": { "type": "array", + "description": "The Node items on this page", "items": { "$ref": "#/definitions/ServiceState.Node" }, - "x-ms-identifiers": [], - "description": "The Node items on this page", - "x-typespec-name": "ServiceState.Node[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of Node items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] + }, + "headers": { + "x-ms-ccf-transaction-id": { + "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+$" + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "ServiceState_ListNodes": { "$ref": "./examples/ServiceState_ListNodes.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -1104,8 +1095,8 @@ { "name": "nodeId", "in": "path", - "required": true, "description": "ID of CCF node who this object refers to.", + "required": true, "type": "string", "pattern": "^[a-f0-9]{64}$" } @@ -1113,27 +1104,27 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ServiceState.Node" + }, "headers": { "x-ms-ccf-transaction-id": { "description": "Identifier for transaction this response was read from. The service state may be altered by other write requests. Reads at the same transactionId describe a consistent single point in the service history.", "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } - }, - "schema": { - "$ref": "#/definitions/ServiceState.Node" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -1155,8 +1146,8 @@ { "name": "transactionId", "in": "path", - "required": true, "description": "Identifier of the requested transaction.", + "required": true, "type": "string", "pattern": "^[0-9]+\\.[0-9]+$" } @@ -1170,14 +1161,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -1206,14 +1197,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -1228,6 +1219,7 @@ "definitions": { "Acks.StateDigest": { "type": "object", + "description": "A compact summary of the service's state up to a certain point in time, updated and signed by members to indicate their participation in and approval of the service.", "properties": { "digest": { "type": "string", @@ -1235,13 +1227,13 @@ "pattern": "^[a-f0-9]{64}$" } }, - "description": "A compact summary of the service's state up to a certain point in time, updated and signed by members to indicate their participation in and approval of the service.", "required": [ "digest" ] }, "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -1257,19 +1249,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -1277,19 +1267,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -1299,11 +1290,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "Proposals.Action": { "type": "object", + "description": "A single step in a proposed change to the service.", "properties": { "name": { "type": "string", @@ -1313,26 +1304,26 @@ "description": "Arguments to modify the behavior of this action. The schema is determined by the action implementation, and should be validated by a `validate` call in the constitution." } }, - "description": "A single step in a proposed change to the service.", "required": [ "name" ] }, "Proposals.Ballot": { "type": "object", + "description": "The source script of an executable vote from a member, regarding a proposed change to the service.", "properties": { "script": { "type": "string", "description": "The script to execute, returning the voter's support of this proposal." } }, - "description": "The source script of an executable vote from a member, regarding a proposed change to the service.", "required": [ "script" ] }, "Proposals.FailureInfo": { "type": "object", + "description": "Description of why governance execution failed.", "properties": { "reason": { "type": "string", @@ -1343,20 +1334,20 @@ "description": "Call stack showing where failure occurred, if available." } }, - "description": "Description of why governance execution failed.", "required": [ "reason" ] }, "Proposals.MemberVotes": { "type": "object", + "description": "Each key is a memberId, and the corresponding value is the result of their ballot.", "additionalProperties": { "type": "boolean" - }, - "description": "Each key is a memberId, and the corresponding value is the result of their ballot." + } }, "Proposals.Proposal": { "type": "object", + "description": "Description of a proposed change to the service.", "properties": { "proposalId": { "$ref": "#/definitions/proposalId", @@ -1387,7 +1378,6 @@ "description": "If proposalState is Failure, then this will describe why the proposal failed." } }, - "description": "Description of a proposed change to the service.", "required": [ "proposalId", "proposerId", @@ -1397,18 +1387,17 @@ }, "Proposals.ProposalActions": { "type": "object", + "description": "The actions contained in a proposal, describing the proposal's changes.", "properties": { "actions": { "type": "array", + "description": "A list of actions to apply. Each action is considered, in order, for both proposal and execution of the proposal. All actions are validated and, if the proposal is accepted, applied atomically.", "items": { "$ref": "#/definitions/Proposals.Action" }, - "x-ms-identifiers": [], - "description": "A list of actions to apply. Each action is considered, in order, for both proposal and execution of the proposal. All actions are validated and, if the proposal is accepted, applied atomically.", - "x-typespec-name": "Proposals.Action[]" + "x-ms-identifiers": [] } }, - "description": "The actions contained in a proposal, describing the proposal's changes.", "required": [ "actions" ] @@ -1463,13 +1452,14 @@ }, "Proposals.VoteFailures": { "type": "object", + "description": "Each key is a memberId, and the corresponding value explains why execution of their ballot failed.", "additionalProperties": { "$ref": "#/definitions/Proposals.FailureInfo" - }, - "description": "Each key is a memberId, and the corresponding value explains why execution of their ballot failed." + } }, "Recovery.EncryptedRecoveryShare": { "type": "object", + "description": "A share of a recovery key, granted for a specific recovery member, and encrypted with that member's share-encryption key. This is safe to share in the ledger or amongst untrusted callers, as only the intended member will be able to decrypt and access the secret content.", "properties": { "encryptedShare": { "type": "string", @@ -1477,18 +1467,18 @@ "description": "Base-64 encoding of a member's encrypted share." } }, - "description": "A share of a recovery key, granted for a specific recovery member, and encrypted with that member's share-encryption key. This is safe to share in the ledger or amongst untrusted callers, as only the intended member will be able to decrypt and access the secret content.", "required": [ "encryptedShare" ] }, "Recovery.Member": { "type": "object", - "properties": {}, - "description": "Recovery-specific details for a given member." + "description": "Recovery-specific details for a given member.", + "properties": {} }, "Recovery.RecoveryResponse": { "type": "object", + "description": "Response to a submitted recovery share.", "properties": { "message": { "type": "string", @@ -1503,7 +1493,6 @@ "description": "Count of how many member shares are required to initiate the end-of-recovery procedure." } }, - "description": "Response to a submitted recovery share.", "required": [ "message", "submittedCount", @@ -1512,6 +1501,7 @@ }, "Recovery.RecoveryShare": { "type": "object", + "description": "Container for a member's raw recovery share. This should be carefully guarded, and only submitted to a trusted service over a secure channel, for the purposes of recovery.", "properties": { "share": { "type": "string", @@ -1519,20 +1509,19 @@ "description": "Base-64 encoding of a member's raw recovery share (unencrypted)." } }, - "description": "Container for a member's raw recovery share. This should be carefully guarded, and only submitted to a trusted service over a secure channel, for the purposes of recovery.", "required": [ "share" ] }, "ServiceState.ConstitutionResponse": { "type": "object", + "description": "Constitution used to make governance decisions on the service. All governance changes are presented as proposals which must be validated, approved, and applied by the code in this constitution.", "properties": { "constitution": { "type": "string", "description": "Javascript source code of constitution." } }, - "description": "Constitution used to make governance decisions on the service. All governance changes are presented as proposals which must be validated, approved, and applied by the code in this constitution.", "required": [ "constitution" ] @@ -1569,6 +1558,7 @@ }, "ServiceState.JoinPolicies": { "type": "object", + "description": "Collection of all policies which determine currently acceptable nodes, across multiple platforms.", "properties": { "sgx": { "$ref": "#/definitions/ServiceState.JoinPolicy", @@ -1579,7 +1569,6 @@ "description": "Policy applied to nodes running in AMD SEV-SNP containers." } }, - "description": "Collection of all policies which determine currently acceptable nodes, across multiple platforms.", "required": [ "sgx", "snp" @@ -1587,41 +1576,40 @@ }, "ServiceState.JoinPolicy": { "type": "object", + "description": "Describes what a joining node must present, in order to join the service.", "properties": { "measurements": { "type": "array", + "description": "Code measurements of acceptable enclaves.", "items": { "type": "string", "format": "byte" - }, - "description": "Code measurements of acceptable enclaves.", - "x-typespec-name": "bytes[]" + } } }, - "description": "Describes what a joining node must present, in order to join the service.", "required": [ "measurements" ] }, "ServiceState.JsApp": { "type": "object", + "description": "Describes the currently installed JavaScript application.", "properties": { "endpoints": { "type": "object", + "description": "The collection of endpoints exposed by the application. Keyed by path.", "additionalProperties": { "$ref": "#/definitions/ServiceState.JsOperations" - }, - "description": "The collection of endpoints exposed by the application. Keyed by path.", - "x-typespec-name": "Record" + } } }, - "description": "Describes the currently installed JavaScript application.", "required": [ "endpoints" ] }, "ServiceState.JsEndpointInfo": { "type": "object", + "description": "Describes an endpoint implemented by a Javascript handler.", "properties": { "jsModule": { "type": "string", @@ -1637,11 +1625,10 @@ }, "authnPolicies": { "type": "array", + "description": "The authentication policies which restrict access to this endpoint", "items": { "type": "string" - }, - "description": "The authentication policies which restrict access to this endpoint", - "x-typespec-name": "string[]" + } }, "mode": { "$ref": "#/definitions/ServiceState.JsExecMode", @@ -1649,12 +1636,10 @@ }, "openApi": { "type": "object", - "additionalProperties": true, "description": "An OpenAPI Operation object (https://swagger.io/specification/#operation-object) describing this operation. This is merged into the auto-generated OpenAPI to describe the current application's API.", - "x-typespec-name": "Record" + "additionalProperties": true } }, - "description": "Describes an endpoint implemented by a Javascript handler.", "required": [ "jsModule", "jsFunction", @@ -1696,32 +1681,30 @@ }, "ServiceState.JsOperations": { "type": "object", + "description": "The collection of operations available on each path. Keyed by HTTP method.", "additionalProperties": { "$ref": "#/definitions/ServiceState.JsEndpointInfo" - }, - "description": "The collection of operations available on each path. Keyed by HTTP method." + } }, "ServiceState.JwkInfo": { "type": "object", + "description": "Describes what Javascript Web Tokens (JWTs) are accepted by the service, and how they will be validated.", "properties": { "issuers": { "type": "object", + "description": "Collection of JWT issuers. Keyed by issuer ID.", "additionalProperties": { "$ref": "#/definitions/ServiceState.JwtIssuer" - }, - "description": "Collection of JWT issuers. Keyed by issuer ID.", - "x-typespec-name": "Record" + } }, "caCertBundles": { "type": "object", + "description": "Collection of CAs used to authenticate connections with issuers. Keyed by governance-controlled bundle names.", "additionalProperties": { "$ref": "#/definitions/ServiceState.caCertBundle" - }, - "description": "Collection of CAs used to authenticate connections with issuers. Keyed by governance-controlled bundle names.", - "x-typespec-name": "Record" + } } }, - "description": "Describes what Javascript Web Tokens (JWTs) are accepted by the service, and how they will be validated.", "required": [ "issuers", "caCertBundles" @@ -1729,6 +1712,7 @@ }, "ServiceState.JwtIssuer": { "type": "object", + "description": "Description of a JWT issuer or identity provider that the current service will trust tokens from.", "properties": { "keyFilter": { "$ref": "#/definitions/ServiceState.JwtIssuerKeyFilter", @@ -1736,11 +1720,10 @@ }, "keyPolicy": { "type": "object", + "description": "Collection of claims which must be present in SGX attestation to permit updates from this issuer.", "additionalProperties": { "type": "string" - }, - "description": "Collection of claims which must be present in SGX attestation to permit updates from this issuer.", - "x-typespec-name": "Record" + } }, "autoRefresh": { "type": "boolean", @@ -1751,7 +1734,6 @@ "description": "Name of bundle used to authenticate issuer when auto-refreshing." } }, - "description": "Description of a JWT issuer or identity provider that the current service will trust tokens from.", "required": [ "keyFilter", "autoRefresh" @@ -1783,6 +1765,7 @@ }, "ServiceState.Member": { "type": "object", + "description": "Information on individual members within a consortium.", "properties": { "memberId": { "$ref": "#/definitions/memberId", @@ -1800,7 +1783,6 @@ "description": "x509 certificate used as this member's identity." } }, - "description": "Information on individual members within a consortium.", "required": [ "memberId", "status", @@ -1833,6 +1815,7 @@ }, "ServiceState.NetworkInterface": { "type": "object", + "description": "Details of how to contact a CCF node. Each node may listen on multiple interfaces, for different kinds of traffic.", "properties": { "publishedAddress": { "type": "string", @@ -1843,7 +1826,6 @@ "description": "The application layer protocol which the node expects on this interface. Currently supports \"http1\" and \"http2\", more protocols may be added in future." } }, - "description": "Details of how to contact a CCF node. Each node may listen on multiple interfaces, for different kinds of traffic.", "required": [ "publishedAddress", "protocol" @@ -1851,6 +1833,7 @@ }, "ServiceState.Node": { "type": "object", + "description": "Information on individual nodes within a service.", "properties": { "nodeId": { "$ref": "#/definitions/nodeId", @@ -1877,14 +1860,12 @@ }, "rpcInterfaces": { "type": "object", + "description": "A collection of interfaces by which this node may be contacted. Some may be limited to private networks, and others may be DNS names or internet-public network addresses. The keys are arbitrary strings determined by the node operator.", "additionalProperties": { "$ref": "#/definitions/ServiceState.NetworkInterface" - }, - "description": "A collection of interfaces by which this node may be contacted. Some may be limited to private networks, and others may be DNS names or internet-public network addresses. The keys are arbitrary strings determined by the node operator.", - "x-typespec-name": "Record" + } } }, - "description": "Information on individual nodes within a service.", "required": [ "nodeId", "status", @@ -1926,13 +1907,13 @@ }, "ServiceState.QuoteInfo": { "type": "object", + "description": "Common type for attestation information, describing the cryptographically-endorsed claim of what code is executing, and what platform it is executing on. Derived types contain platform-specific details.", "properties": { "format": { "type": "string", "description": "Discriminator property for QuoteInfo." } }, - "description": "Common type for attestation information, describing the cryptographically-endorsed claim of what code is executing, and what platform it is executing on. Derived types contain platform-specific details.", "discriminator": "format", "required": [ "format" @@ -1940,6 +1921,7 @@ }, "ServiceState.ServiceInfo": { "type": "object", + "description": "General information about the current service.", "properties": { "status": { "$ref": "#/definitions/ServiceState.ServiceStatus", @@ -1966,6 +1948,7 @@ }, "configuration": { "type": "object", + "description": "Lists governance-controlled configuration parameters of this service, which will be used by core framework code.", "properties": { "maximumNodeCertificateValidityDays": { "$ref": "#/definitions/safeuint" @@ -1974,15 +1957,12 @@ "$ref": "#/definitions/safeuint" } }, - "description": "Lists governance-controlled configuration parameters of this service, which will be used by core framework code.", "required": [ "maximumNodeCertificateValidityDays", "recentCoseProposalsWindowSize" - ], - "x-typespec-name": "ServiceState.(anonymous model)" + ] } }, - "description": "General information about the current service.", "required": [ "status", "certificate", @@ -2029,6 +2009,7 @@ }, "ServiceState.SgxQuoteInfo": { "type": "object", + "description": "Attestation information for Intel SGX enclaves.", "properties": { "quote": { "type": "string", @@ -2041,7 +2022,6 @@ "description": "Base-64 encoded SGX endorsements." } }, - "description": "Attestation information for Intel SGX enclaves.", "required": [ "quote", "endorsements" @@ -2055,36 +2035,33 @@ }, "ServiceState.SnpJoinPolicy": { "type": "object", + "description": "Join policy fields specific to nodes running on AMD SEV-SNP hardware.", "properties": { "measurements": { "type": "array", + "description": "Code measurements of acceptable enclaves.", "items": { "type": "string", "format": "byte" - }, - "description": "Code measurements of acceptable enclaves.", - "x-typespec-name": "bytes[]" + } }, "hostData": { "type": "object", - "additionalProperties": { - "type": "string", - "format": "byte" - }, "description": "Collection of acceptable host data values.", - "x-typespec-name": "Record" + "additionalProperties": { + "format": "byte", + "type": "string" + } }, "uvmEndorsements": { "type": "object", - "additionalProperties": { - "type": "string", - "format": "byte" - }, "description": "Collection of acceptable UVM endorsements.", - "x-typespec-name": "Record" + "additionalProperties": { + "format": "byte", + "type": "string" + } } }, - "description": "Join policy fields specific to nodes running on AMD SEV-SNP hardware.", "required": [ "measurements", "hostData", @@ -2093,6 +2070,7 @@ }, "ServiceState.SnpQuoteInfo": { "type": "object", + "description": "Attestation information for AMD SEV-SNP containers.", "properties": { "uvmEndorsements": { "type": "string", @@ -2105,7 +2083,6 @@ "description": "Base-64 encoded SNP TCB endorsements." } }, - "description": "Attestation information for AMD SEV-SNP containers.", "required": [ "uvmEndorsements", "endorsedTcb" @@ -2127,6 +2104,7 @@ }, "Transactions.CommittedTransaction": { "type": "object", + "description": "Description of latest committed transaction.", "properties": { "transactionId": { "$ref": "#/definitions/transactionId", @@ -2137,7 +2115,6 @@ "description": "Status of this transaction." } }, - "description": "Description of latest committed transaction.", "required": [ "transactionId", "status" @@ -2145,26 +2122,26 @@ }, "Transactions.NamedTransaction": { "type": "object", + "description": "Description of a named transaction's current state.", "properties": { "status": { "$ref": "#/definitions/Transactions.TransactionStatus", "description": "Status of this transaction." } }, - "description": "Description of a named transaction's current state.", "required": [ "status" ] }, "Transactions.Transaction": { "type": "object", + "description": "Common transaction information.", "properties": { "status": { "$ref": "#/definitions/Transactions.TransactionStatus", "description": "Status of this transaction." } }, - "description": "Common transaction information.", "required": [ "status" ] @@ -2251,18 +2228,18 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" }, "CoseSignature.body": { "name": "body", "in": "body", - "required": true, "description": "A raw CoseSign1 signature. See CCF docs for required headers and body schema: https://microsoft.github.io/CCF/main/use_apps/issue_commands.html#cose-schemas", + "required": true, "schema": { "type": "string", "format": "binary" diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/consumption.json index ad4b4601e2d5..e162b97c6358 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/consumption.json @@ -1905,6 +1905,29 @@ } } }, + "SavingsPlan": { + "type": "object", + "description": "The properties of the SavingsPlan.", + "properties": { + "term": { + "description": "SavingsPlan term", + "type": "string", + "readOnly": true + }, + "marketPrice": { + "description": "SavingsPlan Market Price", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "effectivePrice": { + "description": "SavingsPlan Effective Price", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, "UsageDetail": { "type": "object", "discriminator": "kind", @@ -4612,6 +4635,11 @@ "description": "Offer Id", "type": "string", "readOnly": true + }, + "savingsPlan": { + "description": "SavingsPlan Details", + "$ref": "#/definitions/SavingsPlan", + "readOnly": true } } }, diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/examples/PriceSheet.json index 39a2df866a19..8e83bb24e478 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/examples/PriceSheet.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2022-09-01/examples/PriceSheet.json @@ -20,7 +20,12 @@ "partNumber": "XX-11110", "unitPrice": 0.00328, "currencyCode": "EUR", - "offerId": "OfferId 1" + "offerId": "OfferId 1", + "savingsPlan": { + "term": "P3Y", + "effectivePrice": 0.002, + "marketPrice": 0.00328 + } } ] } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/consumption.json index 85e97f868e47..76aa46f2c1c4 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/consumption.json @@ -1911,6 +1911,29 @@ } } }, + "SavingsPlan": { + "description": "The properties of the SavingsPlan.", + "type": "object", + "properties": { + "term": { + "description": "SavingsPlan term", + "type": "string", + "readOnly": true + }, + "marketPrice": { + "description": "SavingsPlan Market Price", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "effectivePrice": { + "description": "SavingsPlan Effective Price", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, "UsageDetail": { "type": "object", "discriminator": "kind", @@ -4618,6 +4641,11 @@ "description": "Offer Id", "type": "string", "readOnly": true + }, + "savingsPlan": { + "description": "SavingsPlan Details", + "$ref": "#/definitions/SavingsPlan", + "readOnly": true } } }, diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/examples/PriceSheet.json index 6605296044fa..0bcc54480709 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/examples/PriceSheet.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-03-01/examples/PriceSheet.json @@ -20,7 +20,12 @@ "partNumber": "XX-11110", "unitPrice": 0.00328, "currencyCode": "EUR", - "offerId": "OfferId 1" + "offerId": "OfferId 1", + "savingsPlan": { + "term": "P3Y", + "effectivePrice": 0.002, + "marketPrice": 0.00328 + } } ] } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/consumption.json index 03376d88ddc5..05cdfdfac91f 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/consumption.json @@ -1914,6 +1914,29 @@ } } }, + "SavingsPlan": { + "type": "object", + "description": "The properties of the SavingsPlan.", + "properties": { + "term": { + "description": "SavingsPlan term", + "type": "string", + "readOnly": true + }, + "marketPrice": { + "description": "SavingsPlan Market Price", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "effectivePrice": { + "description": "SavingsPlan Effective Price", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, "UsageDetail": { "type": "object", "discriminator": "kind", @@ -4621,6 +4644,11 @@ "description": "Offer Id", "type": "string", "readOnly": true + }, + "savingsPlan": { + "description": "SavingsPlan Details", + "$ref": "#/definitions/SavingsPlan", + "readOnly": true } } }, diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/examples/PriceSheet.json index 73214f0baa23..bbe08a459cfb 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/examples/PriceSheet.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2023-05-01/examples/PriceSheet.json @@ -20,7 +20,12 @@ "partNumber": "XX-11110", "unitPrice": 0.00328, "currencyCode": "EUR", - "offerId": "OfferId 1" + "offerId": "OfferId 1", + "savingsPlan": { + "term": "P3Y", + "effectivePrice": 0.002, + "marketPrice": 0.00328 + } } ] } diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/containerregistry.json new file mode 100644 index 000000000000..57b2ac4b9ba9 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/containerregistry.json @@ -0,0 +1,8032 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-01-preview", + "title": "ContainerRegistryManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/packages/{packageType}/archives": { + "get": { + "tags": [ + "Archives" + ], + "description": "Lists all archives for the specified container registry and package type.", + "operationId": "Archives_List", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ArchiveListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveList": { + "$ref": "./examples/ArchiveList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/packages/{packageType}/archives/{archiveName}": { + "get": { + "tags": [ + "Archives" + ], + "description": "Gets the properties of the archive.", + "operationId": "Archives_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Archive" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveGet": { + "$ref": "./examples/ArchiveGet.json" + } + } + }, + "put": { + "tags": [ + "Archives" + ], + "description": "Creates a archive for a container registry with the specified parameters.", + "operationId": "Archives_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + }, + { + "name": "archiveCreateParameters", + "in": "body", + "description": "The parameters for creating a archive.", + "required": true, + "schema": { + "$ref": "#/definitions/Archive" + } + } + ], + "responses": { + "200": { + "description": "ARM update operation completed successfully.", + "schema": { + "$ref": "#/definitions/Archive" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Archive" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveCreate": { + "$ref": "./examples/ArchiveCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Archives" + ], + "description": "Deletes a archive from a container registry.", + "operationId": "Archives_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + } + ], + "responses": { + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The archive does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveDelete": { + "$ref": "./examples/ArchiveDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Archives" + ], + "description": "Updates a archive for a container registry with the specified parameters.", + "operationId": "Archives_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + }, + { + "name": "archiveUpdateParameters", + "in": "body", + "description": "The parameters for updating a archive.", + "required": true, + "schema": { + "$ref": "#/definitions/ArchiveUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully.", + "schema": { + "$ref": "#/definitions/Archive" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveUpdate": { + "$ref": "./examples/ArchiveUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/packages/{packageType}/archives/{archiveName}/versions": { + "get": { + "tags": [ + "ArchiveVersions" + ], + "description": "Lists all archive versions for the specified container registry, repository type and archive name.", + "operationId": "ArchiveVersions_List", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ArchiveVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveVersionList": { + "$ref": "./examples/ArchiveVersionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/packages/{packageType}/archives/{archiveName}/versions/{archiveVersionName}": { + "get": { + "tags": [ + "ArchiveVersions" + ], + "description": "Gets the properties of the archive version.", + "operationId": "ArchiveVersions_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + }, + { + "$ref": "#/parameters/ArchiveVersionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ArchiveVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveVersionGet": { + "$ref": "./examples/ArchiveVersionGet.json" + } + } + }, + "put": { + "tags": [ + "ArchiveVersions" + ], + "description": "Creates a archive for a container registry with the specified parameters.", + "operationId": "ArchiveVersions_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + }, + { + "$ref": "#/parameters/ArchiveVersionNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM update operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArchiveVersion" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/ArchiveVersion" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveVersionCreate": { + "$ref": "./examples/ArchiveVersionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ArchiveVersions" + ], + "description": "Deletes a archive version from a container registry.", + "operationId": "ArchiveVersions_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PackageTypeParameter" + }, + { + "$ref": "#/parameters/ArchiveNameParameter" + }, + { + "$ref": "#/parameters/ArchiveVersionNameParameter" + } + ], + "responses": { + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The archive does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ArchiveVersionDelete": { + "$ref": "./examples/ArchiveVersionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules": { + "get": { + "tags": [ + "CacheRules" + ], + "description": "Lists all cache rule resources for the specified container registry.", + "operationId": "CacheRules_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CacheRulesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CacheRuleList": { + "$ref": "./examples/CacheRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules/{cacheRuleName}": { + "get": { + "tags": [ + "CacheRules" + ], + "description": "Gets the properties of the specified cache rule resource.", + "operationId": "CacheRules_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CacheRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CacheRule" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CacheRuleGet": { + "$ref": "./examples/CacheRuleGet.json" + } + } + }, + "put": { + "tags": [ + "CacheRules" + ], + "description": "Creates a cache rule for a container registry with the specified parameters.", + "operationId": "CacheRules_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CacheRuleNameParameter" + }, + { + "name": "cacheRuleCreateParameters", + "in": "body", + "description": "The parameters for creating a cache rule.", + "required": true, + "schema": { + "$ref": "#/definitions/CacheRule" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CacheRule" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CacheRule" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CacheRuleCreate": { + "$ref": "./examples/CacheRuleCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "CacheRules" + ], + "description": "Deletes a cache rule resource from a container registry.", + "operationId": "CacheRules_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CacheRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The cache rule does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CacheRuleDelete": { + "$ref": "./examples/CacheRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "CacheRules" + ], + "description": "Updates a cache rule for a container registry with the specified parameters.", + "operationId": "CacheRules_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CacheRuleNameParameter" + }, + { + "name": "cacheRuleUpdateParameters", + "in": "body", + "description": "The parameters for updating a cache rule.", + "required": true, + "schema": { + "$ref": "#/definitions/CacheRuleUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CacheRule" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CacheRule" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CacheRuleUpdate": { + "$ref": "./examples/CacheRuleUpdate.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.ContainerRegistry/registries/{registryName}/connectedRegistries": { + "get": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Lists all connected registries for the specified container registry.", + "operationId": "ConnectedRegistries_List", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryFilterParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryList": { + "$ref": "./examples/ConnectedRegistryList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}": { + "get": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Gets the properties of the connected registry.", + "operationId": "ConnectedRegistries_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryGet": { + "$ref": "./examples/ConnectedRegistryGet.json" + } + } + }, + "put": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Creates a connected registry for a container registry with the specified parameters.", + "operationId": "ConnectedRegistries_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + }, + { + "name": "connectedRegistryCreateParameters", + "in": "body", + "description": "The parameters for creating a connectedRegistry.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryCreate": { + "$ref": "./examples/ConnectedRegistryCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Deletes a connected registry from a container registry.", + "operationId": "ConnectedRegistries_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The webhook does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryDelete": { + "$ref": "./examples/ConnectedRegistryDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Updates a connected registry with the specified parameters.", + "operationId": "ConnectedRegistries_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + }, + { + "name": "connectedRegistryUpdateParameters", + "in": "body", + "description": "The parameters for updating a connectedRegistry.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectedRegistryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectedRegistry" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryUpdate": { + "$ref": "./examples/ConnectedRegistryUpdate.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.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}/deactivate": { + "post": { + "tags": [ + "ConnectedRegistries" + ], + "description": "Deactivates the connected registry instance.", + "operationId": "ConnectedRegistries_Deactivate", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ConnectedRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ConnectedRegistryDeactivate": { + "$ref": "./examples/ConnectedRegistryDeactivate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets": { + "get": { + "tags": [ + "CredentialSets" + ], + "description": "Lists all credential set resources for the specified container registry.", + "operationId": "CredentialSets_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CredentialSetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CredentialSetList": { + "$ref": "./examples/CredentialSetList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets/{credentialSetName}": { + "get": { + "tags": [ + "CredentialSets" + ], + "description": "Gets the properties of the specified credential set resource.", + "operationId": "CredentialSets_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CredentialSetNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CredentialSet" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CredentialSetGet": { + "$ref": "./examples/CredentialSetGet.json" + } + } + }, + "put": { + "tags": [ + "CredentialSets" + ], + "description": "Creates a credential set for a container registry with the specified parameters.", + "operationId": "CredentialSets_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CredentialSetNameParameter" + }, + { + "name": "credentialSetCreateParameters", + "in": "body", + "description": "The parameters for creating a credential set.", + "required": true, + "schema": { + "$ref": "#/definitions/CredentialSet" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CredentialSet" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CredentialSet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CredentialSetCreate": { + "$ref": "./examples/CredentialSetCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "CredentialSets" + ], + "description": "Deletes a credential set from a container registry.", + "operationId": "CredentialSets_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CredentialSetNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The credential store resource does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CredentialSetDelete": { + "$ref": "./examples/CredentialSetDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "CredentialSets" + ], + "description": "Updates a credential set for a container registry with the specified parameters.", + "operationId": "CredentialSets_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/CredentialSetNameParameter" + }, + { + "name": "credentialSetUpdateParameters", + "in": "body", + "description": "The parameters for updating a credential set.", + "required": true, + "schema": { + "$ref": "#/definitions/CredentialSetUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CredentialSet" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/CredentialSet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CredentialSetUpdate": { + "$ref": "./examples/CredentialSetUpdate.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.ContainerRegistry/registries/{registryName}/exportPipelines": { + "get": { + "tags": [ + "ExportPipelines" + ], + "description": "Lists all export pipelines for the specified container registry.", + "operationId": "ExportPipelines_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ExportPipelineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ExportPipelineList": { + "$ref": "./examples/ExportPipelineList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines/{exportPipelineName}": { + "get": { + "tags": [ + "ExportPipelines" + ], + "description": "Gets the properties of the export pipeline.", + "operationId": "ExportPipelines_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ExportPipelineGet": { + "$ref": "./examples/ExportPipelineGet.json" + } + } + }, + "put": { + "tags": [ + "ExportPipelines" + ], + "description": "Creates an export pipeline for a container registry with the specified parameters.", + "operationId": "ExportPipelines_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + }, + { + "name": "exportPipelineCreateParameters", + "in": "body", + "description": "The parameters for creating an export pipeline.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ExportPipeline" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ExportPipelineCreate": { + "$ref": "./examples/ExportPipelineCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ExportPipelines" + ], + "description": "Deletes an export pipeline from a container registry.", + "operationId": "ExportPipelines_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ExportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The export pipeline does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ExportPipelineDelete": { + "$ref": "./examples/ExportPipelineDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": { + "post": { + "tags": [ + "Registries" + ], + "description": "Copies an image to this container registry from the specified container registry.", + "operationId": "Registries_ImportImage", + "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/RegistryNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters specifying the image to copy and the source container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportImageParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ImportImageByTag": { + "$ref": "./examples/ImportImageByTag.json" + }, + "ImportImageByManifestDigest": { + "$ref": "./examples/ImportImageByManifestDigest.json" + }, + "ImportImageFromPublicRegistry": { + "$ref": "./examples/ImportImageFromPublicRegistry.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines": { + "get": { + "tags": [ + "ImportPipelines" + ], + "description": "Lists all import pipelines for the specified container registry.", + "operationId": "ImportPipelines_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ImportPipelineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImportPipelineList": { + "$ref": "./examples/ImportPipelineList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines/{importPipelineName}": { + "get": { + "tags": [ + "ImportPipelines" + ], + "description": "Gets the properties of the import pipeline.", + "operationId": "ImportPipelines_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImportPipelineGet": { + "$ref": "./examples/ImportPipelineGet.json" + } + } + }, + "put": { + "tags": [ + "ImportPipelines" + ], + "description": "Creates an import pipeline for a container registry with the specified parameters.", + "operationId": "ImportPipelines_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + }, + { + "name": "importPipelineCreateParameters", + "in": "body", + "description": "The parameters for creating an import pipeline.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the operation has completed successfully.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ImportPipeline" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImportPipelineCreate": { + "$ref": "./examples/ImportPipelineCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ImportPipelines" + ], + "description": "Deletes an import pipeline from a container registry.", + "operationId": "ImportPipelines_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ImportPipelineNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The import pipeline does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImportPipelineDelete": { + "$ref": "./examples/ImportPipelineDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/providers/Microsoft.ContainerRegistry/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Container Registry REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": { + "post": { + "tags": [ + "Operation" + ], + "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.", + "operationId": "Registries_CheckNameAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "registryNameCheckRequest", + "in": "body", + "description": "The object containing information for the availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryNameCheckRequest" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryNameStatus" + } + } + }, + "x-ms-examples": { + "RegistryCheckNameAvailable": { + "$ref": "./examples/RegistryCheckNameAvailable.json" + }, + "RegistryCheckNameNotAvailable": { + "$ref": "./examples/RegistryCheckNameNotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns": { + "get": { + "tags": [ + "PipelineRuns" + ], + "description": "Lists all the pipeline runs for the specified container registry.", + "operationId": "PipelineRuns_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRunListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PipelineRunList": { + "$ref": "./examples/PipelineRunList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns/{pipelineRunName}": { + "get": { + "tags": [ + "PipelineRuns" + ], + "description": "Gets the detailed information for a given pipeline run.", + "operationId": "PipelineRuns_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRun" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PipelineRunGet": { + "$ref": "./examples/PipelineRunGet.json" + } + } + }, + "put": { + "tags": [ + "PipelineRuns" + ], + "description": "Creates a pipeline run for a container registry with the specified parameters", + "operationId": "PipelineRuns_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + }, + { + "name": "pipelineRunCreateParameters", + "in": "body", + "description": "The parameters for creating a pipeline run.", + "required": true, + "schema": { + "$ref": "#/definitions/PipelineRun" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well - formed and received properly.", + "schema": { + "$ref": "#/definitions/PipelineRun" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PipelineRun" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PipelineRunCreate_Export": { + "$ref": "./examples/PipelineRunCreate_Export.json" + }, + "PipelineRunCreate_Import": { + "$ref": "./examples/PipelineRunCreate_Import.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "PipelineRuns" + ], + "description": "Deletes a pipeline run from a container registry.", + "operationId": "PipelineRuns_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PipelineRunNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The pipeline run does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PipelineRunDelete": { + "$ref": "./examples/PipelineRunDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections in a container registry.", + "operationId": "PrivateEndpointConnections_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionList": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Update the state of specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The parameters for creating a private endpoint connection.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes the specified private endpoint connection associated with the container registry.", + "operationId": "PrivateEndpointConnections_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified subscription.", + "operationId": "Registries_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryList": { + "$ref": "./examples/RegistryList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists all the container registries under the specified resource group.", + "operationId": "Registries_ListByResourceGroup", + "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": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/RegistryListResult" + } + } + }, + "x-ms-examples": { + "RegistryListByResourceGroup": { + "$ref": "./examples/RegistryListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the properties of the specified container registry.", + "operationId": "Registries_Get", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + } + }, + "x-ms-examples": { + "RegistryGet": { + "$ref": "./examples/RegistryGet.json" + } + } + }, + "put": { + "tags": [ + "Registries" + ], + "description": "Creates a container registry with the specified parameters.", + "operationId": "Registries_Create", + "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/RegistryNameParameter" + }, + { + "name": "registry", + "in": "body", + "description": "The parameters for creating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/Registry" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "RegistryCreate": { + "$ref": "./examples/RegistryCreate.json" + }, + "RegistryCreateZoneRedundant": { + "$ref": "./examples/RegistryCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Registries" + ], + "description": "Deletes a container registry.", + "operationId": "Registries_Delete", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The container registry does not exist in the subscription." + } + }, + "x-ms-examples": { + "RegistryDelete": { + "$ref": "./examples/RegistryDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Registries" + ], + "description": "Updates a container registry with the specified parameters.", + "operationId": "Registries_Update", + "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/RegistryNameParameter" + }, + { + "name": "registryUpdateParameters", + "in": "body", + "description": "The parameters for updating a container registry.", + "required": true, + "schema": { + "$ref": "#/definitions/RegistryUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Registry" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Registry" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "RegistryUpdate": { + "$ref": "./examples/RegistryUpdate.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.ContainerRegistry/registries/{registryName}/listUsages": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets the quota usages for the specified container registry.", + "operationId": "Registries_ListUsages", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the registry usages retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryUsageListResult" + } + } + }, + "x-ms-examples": { + "RegistryListUsages": { + "$ref": "./examples/RegistryListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": { + "get": { + "tags": [ + "Registries" + ], + "description": "Lists the private link resources for a container registry.", + "operationId": "Registries_ListPrivateLinkResources", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the private link resources were retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "RegistryListPrivateLinkResources": { + "$ref": "./examples/RegistryListPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "Registries" + ], + "description": "Gets a private link resource by a specified group name for a container registry.", + "operationId": "Registries_GetPrivateLinkResource", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the private link resource was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "RegistryGetPrivateLinkResource": { + "$ref": "./examples/RegistryGetPrivateLinkResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": { + "post": { + "tags": [ + "Registries" + ], + "description": "Lists the login credentials for the specified container registry.", + "operationId": "Registries_ListCredentials", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the list of credentials retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryListCredentials": { + "$ref": "./examples/RegistryListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": { + "post": { + "tags": [ + "Registries" + ], + "description": "Regenerates one of the login credentials for the specified container registry.", + "operationId": "Registries_RegenerateCredential", + "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/RegistryNameParameter" + }, + { + "name": "regenerateCredentialParameters", + "in": "body", + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateCredentialParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the specified credential regenerated successfully.", + "schema": { + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "x-ms-examples": { + "RegistryRegenerateCredential": { + "$ref": "./examples/RegistryRegenerateCredential.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": { + "get": { + "tags": [ + "Replications" + ], + "description": "Lists all the replications for the specified container registry.", + "operationId": "Replications_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ReplicationListResult" + } + } + }, + "x-ms-examples": { + "ReplicationList": { + "$ref": "./examples/ReplicationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": { + "get": { + "tags": [ + "Replications" + ], + "description": "Gets the properties of the specified replication.", + "operationId": "Replications_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + } + }, + "x-ms-examples": { + "ReplicationGet": { + "$ref": "./examples/ReplicationGet.json" + } + } + }, + "put": { + "tags": [ + "Replications" + ], + "description": "Creates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replication", + "in": "body", + "description": "The parameters for creating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/Replication" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ReplicationCreate": { + "$ref": "./examples/ReplicationCreate.json" + }, + "ReplicationCreateZoneRedundant": { + "$ref": "./examples/ReplicationCreateZoneRedundant.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Replications" + ], + "description": "Deletes a replication from a container registry.", + "operationId": "Replications_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The replication does not exist in the subscription." + } + }, + "x-ms-examples": { + "ReplicationDelete": { + "$ref": "./examples/ReplicationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Replications" + ], + "description": "Updates a replication for a container registry with the specified parameters.", + "operationId": "Replications_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ReplicationNameParameter" + }, + { + "name": "replicationUpdateParameters", + "in": "body", + "description": "The parameters for updating a replication.", + "required": true, + "schema": { + "$ref": "#/definitions/ReplicationUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Replication" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Replication" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "ReplicationUpdate": { + "$ref": "./examples/ReplicationUpdate.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.ContainerRegistry/registries/{registryName}/scopeMaps": { + "get": { + "tags": [ + "ScopeMaps" + ], + "description": "Lists all the scope maps for the specified container registry.", + "operationId": "ScopeMaps_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ScopeMapList": { + "$ref": "./examples/ScopeMapList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}": { + "get": { + "tags": [ + "ScopeMaps" + ], + "description": "Gets the properties of the specified scope map.", + "operationId": "ScopeMaps_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ScopeMapGet": { + "$ref": "./examples/ScopeMapGet.json" + } + } + }, + "put": { + "tags": [ + "ScopeMaps" + ], + "description": "Creates a scope map for a container registry with the specified parameters.", + "operationId": "ScopeMaps_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + }, + { + "name": "scopeMapCreateParameters", + "in": "body", + "description": "The parameters for creating a scope map.", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeMap" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ScopeMap" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ScopeMapCreate": { + "$ref": "./examples/ScopeMapCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "ScopeMaps" + ], + "description": "Deletes a scope map from a container registry.", + "operationId": "ScopeMaps_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The scopemap does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ScopeMapDelete": { + "$ref": "./examples/ScopeMapDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ScopeMaps" + ], + "description": "Updates a scope map with the specified parameters.", + "operationId": "ScopeMaps_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/ScopeMapNameParameter" + }, + { + "name": "scopeMapUpdateParameters", + "in": "body", + "description": "The parameters for updating a scope map.", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeMapUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ScopeMap" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ScopeMap" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ScopeMapUpdate": { + "$ref": "./examples/ScopeMapUpdate.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.ContainerRegistry/registries/{registryName}/tokens": { + "get": { + "tags": [ + "Tokens" + ], + "description": "Lists all the tokens for the specified container registry.", + "operationId": "Tokens_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/TokenListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TokenList": { + "$ref": "./examples/TokenList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}": { + "get": { + "tags": [ + "Tokens" + ], + "description": "Gets the properties of the specified token.", + "operationId": "Tokens_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TokenGet": { + "$ref": "./examples/TokenGet.json" + } + } + }, + "put": { + "tags": [ + "Tokens" + ], + "description": "Creates a token for a container registry with the specified parameters.", + "operationId": "Tokens_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + }, + { + "name": "tokenCreateParameters", + "in": "body", + "description": "The parameters for creating a token.", + "required": true, + "schema": { + "$ref": "#/definitions/Token" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Token" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TokenCreate": { + "$ref": "./examples/TokenCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Tokens" + ], + "description": "Deletes a token from a container registry.", + "operationId": "Tokens_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The token does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TokenDelete": { + "$ref": "./examples/TokenDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Tokens" + ], + "description": "Updates a token with the specified parameters.", + "operationId": "Tokens_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/TokenNameParameter" + }, + { + "name": "tokenUpdateParameters", + "in": "body", + "description": "The parameters for updating a token.", + "required": true, + "schema": { + "$ref": "#/definitions/TokenUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Token" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Token" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TokenUpdate": { + "$ref": "./examples/TokenUpdate.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.ContainerRegistry/registries/{registryName}/generateCredentials": { + "post": { + "tags": [ + "Registries" + ], + "description": "Generate keys for a token of a specified container registry.", + "operationId": "Registries_GenerateCredentials", + "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/RegistryNameParameter" + }, + { + "name": "generateCredentialsParameters", + "in": "body", + "description": "The parameters for generating credentials.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateCredentialsParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/GenerateCredentialsResult" + } + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "RegistryGenerateCredentials": { + "$ref": "./examples/RegistryGenerateCredentials.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Lists all the webhooks for the specified container registry.", + "operationId": "Webhooks_List", + "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/RegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WebhookListResult" + } + } + }, + "x-ms-examples": { + "WebhookList": { + "$ref": "./examples/WebhookList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": { + "get": { + "tags": [ + "Webhooks" + ], + "description": "Gets the properties of the specified webhook.", + "operationId": "Webhooks_Get", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + } + }, + "x-ms-examples": { + "WebhookGet": { + "$ref": "./examples/WebhookGet.json" + } + } + }, + "put": { + "tags": [ + "Webhooks" + ], + "description": "Creates a webhook for a container registry with the specified parameters.", + "operationId": "Webhooks_Create", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookCreateParameters", + "in": "body", + "description": "The parameters for creating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookCreateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebhookCreate": { + "$ref": "./examples/WebhookCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Webhooks" + ], + "description": "Deletes a webhook from a container registry.", + "operationId": "Webhooks_Delete", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "The webhook does not exist in the subscription." + } + }, + "x-ms-examples": { + "WebhookDelete": { + "$ref": "./examples/WebhookDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "Webhooks" + ], + "description": "Updates a webhook with the specified parameters.", + "operationId": "Webhooks_Update", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + }, + { + "name": "webhookUpdateParameters", + "in": "body", + "description": "The parameters for updating a webhook.", + "required": true, + "schema": { + "$ref": "#/definitions/WebhookUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Webhook" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Webhook" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebhookUpdate": { + "$ref": "./examples/WebhookUpdate.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.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Triggers a ping event to be sent to the webhook.", + "operationId": "Webhooks_Ping", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventInfo" + } + } + }, + "x-ms-examples": { + "WebhookPing": { + "$ref": "./examples/WebhookPing.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Lists recent events for the specified webhook.", + "operationId": "Webhooks_ListEvents", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/EventListResult" + } + } + }, + "x-ms-examples": { + "WebhookListEvents": { + "$ref": "./examples/WebhookListEvents.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": { + "post": { + "tags": [ + "Webhooks" + ], + "description": "Gets the configuration of service URI and custom headers for the webhook.", + "operationId": "Webhooks_GetCallbackConfig", + "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/RegistryNameParameter" + }, + { + "$ref": "#/parameters/WebhookNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/CallbackConfig" + } + } + }, + "x-ms-examples": { + "WebhookGetCallbackConfig": { + "$ref": "./examples/WebhookGetCallbackConfig.json" + } + } + } + } + }, + "definitions": { + "ArchiveListResult": { + "description": "The result of a request to list archives for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of archives. Since this list may be incomplete, the nextLink field should be used to request the next list of distributions.", + "type": "array", + "items": { + "$ref": "#/definitions/Archive" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of archives.", + "type": "string" + } + } + }, + "Archive": { + "description": "An object that represents a archive for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArchiveProperties", + "description": "The properties of the archive.", + "x-ms-client-flatten": true + } + } + }, + "ErrorResponse": { + "description": "An error response from the Azure Container Registry service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure container registry build API error body." + } + } + }, + "ArchiveProperties": { + "description": "The properties of a archive.", + "type": "object", + "properties": { + "packageSource": { + "$ref": "#/definitions/ArchivePackageSourceProperties", + "description": "The package source of the archive." + }, + "publishedVersion": { + "description": "The published version of the archive.", + "type": "string" + }, + "repositoryEndpointPrefix": { + "type": "string" + }, + "repositoryEndpoint": { + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the archive at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "ArchivePackageSourceProperties": { + "description": "The properties of the archive package source.", + "type": "object", + "properties": { + "type": { + "description": "The type of package source for a archive.", + "enum": [ + "remote" + ], + "type": "string", + "x-ms-enum": { + "name": "PackageSourceType", + "modelAsString": true + } + }, + "url": { + "description": "The external repository url.", + "type": "string" + } + } + }, + "ArchiveUpdateParameters": { + "description": "The parameters for updating a archive.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ArchiveUpdateProperties", + "description": "The properties of the connected registry update parameters.", + "x-ms-client-flatten": true + } + } + }, + "ArchiveUpdateProperties": { + "description": "The properties of a archive.", + "type": "object", + "properties": { + "publishedVersion": { + "description": "The published version of the archive.", + "type": "string" + } + } + }, + "ArchiveVersionListResult": { + "description": "The result of a request to list export pipelines for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of export pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of export pipelines.", + "type": "array", + "items": { + "$ref": "#/definitions/ArchiveVersion" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "ArchiveVersion": { + "description": "An object that represents an export pipeline for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArchiveVersionProperties", + "description": "The properties of the archive.", + "x-ms-client-flatten": true + } + } + }, + "ArchiveVersionProperties": { + "description": "The properties of an export pipeline.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the archive at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "archiveVersionErrorMessage": { + "description": "The detailed error message for the archive version in the case of failure.", + "type": "string" + } + } + }, + "CacheRulesListResult": { + "description": "The result of a request to list cache rules for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of cache rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CacheRule" + } + }, + "nextLink": { + "description": "If provided, client must use NextLink URI to request next list of cache rules.", + "type": "string" + } + } + }, + "CacheRule": { + "description": "An object that represents a cache rule for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CacheRuleProperties", + "description": "The properties of the cache rule.", + "x-ms-client-flatten": true + } + } + }, + "CacheRuleProperties": { + "description": "The properties of a cache rule.", + "type": "object", + "properties": { + "credentialSetResourceId": { + "description": "The ARM resource ID of the credential store which is associated with the cache rule.", + "type": "string" + }, + "sourceRepository": { + "description": "Source repository pulled from upstream.", + "type": "string" + }, + "targetRepository": { + "description": "Target repository specified in docker pull command.\r\nEg: docker pull myregistry.azurecr.io/{targetRepository}:{tag}", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the cache rule.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "CacheRuleUpdateParameters": { + "description": "The parameters for updating a cache rule.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CacheRuleUpdateProperties", + "description": "The properties of the cache rule update parameters.", + "x-ms-client-flatten": true + } + } + }, + "CacheRuleUpdateProperties": { + "description": "The parameters for updating cache rule properties.", + "type": "object", + "properties": { + "credentialSetResourceId": { + "description": "The ARM resource ID of the credential store which is associated with the Cache rule.", + "type": "string" + } + } + }, + "ConnectedRegistryListResult": { + "description": "The result of a request to list connected registries for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of connected registries. Since this list may be incomplete, the nextLink field should be used to request the next list of connected registries.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectedRegistry" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of connected registries.", + "type": "string" + } + } + }, + "ConnectedRegistry": { + "description": "An object that represents a connected registry for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConnectedRegistryProperties", + "description": "The properties of the connected registry.", + "x-ms-client-flatten": true + } + } + }, + "ConnectedRegistryProperties": { + "description": "The properties of a connected registry.", + "required": [ + "mode", + "parent" + ], + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "mode": { + "description": "The mode of the connected registry resource that indicates the permissions of the registry.", + "enum": [ + "ReadWrite", + "ReadOnly", + "Registry", + "Mirror" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectedRegistryMode", + "modelAsString": true + } + }, + "version": { + "description": "The current version of ACR runtime on the connected registry.", + "type": "string", + "readOnly": true + }, + "connectionState": { + "description": "The current connection state of the connected registry.", + "enum": [ + "Online", + "Offline", + "Syncing", + "Unhealthy" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "lastActivityTime": { + "format": "date-time", + "description": "The last activity time of the connected registry.", + "type": "string", + "readOnly": true + }, + "activation": { + "$ref": "#/definitions/ActivationProperties", + "description": "The activation properties of the connected registry.", + "readOnly": true + }, + "parent": { + "$ref": "#/definitions/ParentProperties", + "description": "The parent of the connected registry." + }, + "clientTokenIds": { + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.", + "type": "array", + "items": { + "type": "string" + } + }, + "loginServer": { + "$ref": "#/definitions/LoginServerProperties", + "description": "The login server properties of the connected registry." + }, + "logging": { + "$ref": "#/definitions/LoggingProperties", + "description": "The logging properties of the connected registry." + }, + "statusDetails": { + "description": "The list of current statuses of the connected registry.", + "type": "array", + "items": { + "$ref": "#/definitions/StatusDetailProperties" + }, + "readOnly": true, + "x-ms-identifiers": [ + "correlationId" + ] + }, + "notificationsList": { + "description": "The list of notifications subscription information for the connected registry.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ActivationProperties": { + "description": "The activation properties of the connected registry.", + "type": "object", + "properties": { + "status": { + "description": "The activation status of the connected registry.", + "enum": [ + "Active", + "Inactive" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ActivationStatus", + "modelAsString": true + } + } + } + }, + "ParentProperties": { + "description": "The properties of the connected registry parent.", + "required": [ + "syncProperties" + ], + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the parent to which the connected registry will be associated.", + "type": "string" + }, + "syncProperties": { + "$ref": "#/definitions/SyncProperties", + "description": "The sync properties of the connected registry with its parent." + } + } + }, + "LoginServerProperties": { + "description": "The login server properties of the connected registry.", + "type": "object", + "properties": { + "host": { + "description": "The host of the connected registry. Can be FQDN or IP.", + "type": "string", + "readOnly": true + }, + "tls": { + "$ref": "#/definitions/TlsProperties", + "description": "The TLS properties of the connected registry login server.", + "readOnly": true + } + } + }, + "LoggingProperties": { + "description": "The logging properties of the connected registry.", + "type": "object", + "properties": { + "logLevel": { + "description": "The verbosity of logs persisted on the connected registry.", + "default": "Information", + "enum": [ + "Debug", + "Information", + "Warning", + "Error", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": true + } + }, + "auditLogStatus": { + "description": "Indicates whether audit logs are enabled on the connected registry.", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AuditLogStatus", + "modelAsString": true + } + } + } + }, + "StatusDetailProperties": { + "description": "The status detail properties of the connected registry.", + "type": "object", + "properties": { + "type": { + "description": "The component of the connected registry corresponding to the status.", + "type": "string", + "readOnly": true + }, + "code": { + "description": "The code of the status.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the status.", + "type": "string", + "readOnly": true + }, + "timestamp": { + "format": "date-time", + "description": "The timestamp of the status.", + "type": "string", + "readOnly": true + }, + "correlationId": { + "description": "The correlation ID of the status.", + "type": "string", + "readOnly": true + } + } + }, + "SyncProperties": { + "description": "The sync properties of the connected registry with its parent.", + "required": [ + "tokenId", + "messageTtl" + ], + "type": "object", + "properties": { + "tokenId": { + "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync.", + "type": "string" + }, + "schedule": { + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.", + "type": "string" + }, + "syncWindow": { + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "messageTtl": { + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "lastSyncTime": { + "format": "date-time", + "description": "The last time a sync occurred between the connected registry and its parent.", + "type": "string", + "readOnly": true + }, + "gatewayEndpoint": { + "description": "The gateway endpoint used by the connected registry to communicate with its parent.", + "type": "string", + "readOnly": true + } + } + }, + "TlsProperties": { + "description": "The TLS properties of the connected registry login server.", + "type": "object", + "properties": { + "status": { + "description": "Indicates whether HTTPS is enabled for the login server.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TlsStatus", + "modelAsString": true + } + }, + "certificate": { + "$ref": "#/definitions/TlsCertificateProperties", + "description": "The certificate used to configure HTTPS for the login server.", + "readOnly": true + } + } + }, + "TlsCertificateProperties": { + "description": "The TLS certificate properties of the connected registry login server.", + "type": "object", + "properties": { + "type": { + "description": "The type of certificate location.", + "enum": [ + "LocalDirectory" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true + } + }, + "location": { + "description": "Indicates the location of the certificates.", + "type": "string", + "readOnly": true + } + } + }, + "ConnectedRegistryUpdateParameters": { + "description": "The parameters for updating a connected registry.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConnectedRegistryUpdateProperties", + "description": "The properties of the connected registry update parameters.", + "x-ms-client-flatten": true + } + } + }, + "ConnectedRegistryUpdateProperties": { + "description": "The parameters for updating token properties.", + "type": "object", + "properties": { + "syncProperties": { + "$ref": "#/definitions/SyncUpdateProperties", + "description": "The sync properties of the connected registry with its parent." + }, + "logging": { + "$ref": "#/definitions/LoggingProperties", + "description": "The logging properties of the connected registry." + }, + "clientTokenIds": { + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationsList": { + "description": "The list of notifications subscription information for the connected registry.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SyncUpdateProperties": { + "description": "The parameters for updating the sync properties of the connected registry with its parent.", + "type": "object", + "properties": { + "schedule": { + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.", + "type": "string" + }, + "syncWindow": { + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + }, + "messageTtl": { + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.", + "type": "string" + } + } + }, + "CredentialSetListResult": { + "description": "The result of a request to list credential sets for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of credential sets. Since this list may be incomplete, the nextLink field should be used to request the next list of credential sets.", + "type": "array", + "items": { + "$ref": "#/definitions/CredentialSet" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of credential sets.", + "type": "string" + } + } + }, + "CredentialSet": { + "description": "An object that represents a credential set resource for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "Identities associated with the resource. This is used to access the KeyVault secrets." + }, + "properties": { + "$ref": "#/definitions/CredentialSetProperties", + "description": "The properties of the credential set.", + "x-ms-client-flatten": true + } + } + }, + "IdentityProperties": { + "description": "Managed identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + } + } + } + }, + "CredentialSetProperties": { + "description": "The properties of a credential set resource.", + "type": "object", + "properties": { + "loginServer": { + "description": "The credentials are stored for this upstream or login server.", + "type": "string" + }, + "authCredentials": { + "description": "List of authentication credentials stored for an upstream.\r\nUsually consists of a primary and an optional secondary credential.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthCredential" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of credential store resource.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "UserIdentityProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "An Azure resource.", + "required": [ + "location" + ], + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the resource. This cannot be changed after the resource is created.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "AuthCredential": { + "description": "Authentication credential stored for an upstream.", + "type": "object", + "properties": { + "name": { + "description": "The name of the credential.", + "enum": [ + "Credential1" + ], + "type": "string", + "x-ms-enum": { + "name": "CredentialName", + "modelAsString": true + } + }, + "usernameSecretIdentifier": { + "description": "KeyVault Secret URI for accessing the username.", + "type": "string" + }, + "passwordSecretIdentifier": { + "description": "KeyVault Secret URI for accessing the password.", + "type": "string" + }, + "credentialHealth": { + "$ref": "#/definitions/CredentialHealth", + "description": "This provides data pertaining to the health of the auth credential.", + "readOnly": true + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "CredentialHealth": { + "description": "The health of the auth credential.", + "type": "object", + "properties": { + "status": { + "description": "The health status of credential.", + "enum": [ + "Healthy", + "Unhealthy" + ], + "type": "string", + "x-ms-enum": { + "name": "CredentialHealthStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Error code representing the health check error.", + "type": "string" + }, + "errorMessage": { + "description": "Descriptive message representing the health check error.", + "type": "string" + } + } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdBy": { + "description": "The identity that created the resource.", + "type": "string" + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string" + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string" + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource modification (UTC).", + "type": "string" + } + }, + "readOnly": true + }, + "DebianArchiveProperties": { + "description": "The properties of the Debian package Archive.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ArchiveProperties" + } + ], + "properties": { + "distributionName": { + "description": "Debian distribution Name.", + "type": "string" + } + } + }, + "DebianArchivePackageSourceProperties": { + "description": "The properties of the archive package source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ArchivePackageSourceProperties" + } + ], + "properties": { + "distributionName": { + "description": "Upstream Debian distribution Name.", + "type": "string" + } + } + }, + "CredentialSetUpdateParameters": { + "description": "The parameters for updating a credential set", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CredentialSetUpdateProperties", + "description": "The properties of the credential set update parameters", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "Identities associated with the resource. This is used to access the KeyVault secrets." + } + } + }, + "CredentialSetUpdateProperties": { + "description": "The parameters for updating credential set properties.", + "type": "object", + "properties": { + "authCredentials": { + "description": "List of authentication credentials stored for an upstream.\r\nUsually consists of a primary and an optional secondary credential.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthCredential" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ExportPipelineListResult": { + "description": "The result of a request to list export pipelines for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of export pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of export pipelines.", + "type": "array", + "items": { + "$ref": "#/definitions/ExportPipeline" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "ExportPipeline": { + "description": "An object that represents an export pipeline for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "The location of the export pipeline.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the export pipeline." + }, + "properties": { + "$ref": "#/definitions/ExportPipelineProperties", + "description": "The properties of the export pipeline.", + "x-ms-client-flatten": true + } + } + }, + "ExportPipelineProperties": { + "description": "The properties of an export pipeline.", + "required": [ + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/definitions/ExportPipelineTargetProperties", + "description": "The target properties of the export pipeline." + }, + "options": { + "description": "The list of all options configured for the pipeline.", + "type": "array", + "items": { + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineOptions", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the pipeline at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "ExportPipelineTargetProperties": { + "description": "The properties of the export pipeline target.", + "required": [ + "keyVaultUri" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of target for the export pipeline.", + "type": "string" + }, + "uri": { + "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"", + "type": "string" + }, + "keyVaultUri": { + "description": "They key vault secret uri to obtain the target storage SAS token.", + "type": "string" + } + } + }, + "ImportImageParameters": { + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/ImportSource", + "description": "The source of the image." + }, + "targetTags": { + "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).", + "type": "array", + "items": { + "type": "string" + } + }, + "untaggedTargetRepositories": { + "description": "List of strings of repository names to do a manifest only copy. No tag will be created.", + "type": "array", + "items": { + "type": "string" + } + }, + "mode": { + "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.", + "default": "NoForce", + "enum": [ + "NoForce", + "Force" + ], + "type": "string", + "x-ms-enum": { + "name": "ImportMode", + "modelAsString": true + } + } + } + }, + "ImportSource": { + "required": [ + "sourceImage" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The resource identifier of the source Azure Container Registry.", + "type": "string" + }, + "registryUri": { + "description": "The address of the source registry (e.g. 'mcr.microsoft.com').", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/ImportSourceCredentials", + "description": "Credentials used when importing from a registry uri." + }, + "sourceImage": { + "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').", + "type": "string" + } + } + }, + "ImportSourceCredentials": { + "required": [ + "password" + ], + "type": "object", + "properties": { + "username": { + "description": "The username to authenticate with the source registry.", + "type": "string" + }, + "password": { + "description": "The password used to authenticate with the source registry.", + "type": "string" + } + } + }, + "ImportPipelineListResult": { + "description": "The result of a request to list import pipelines for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of import pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of import pipelines.", + "type": "array", + "items": { + "$ref": "#/definitions/ImportPipeline" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "ImportPipeline": { + "description": "An object that represents an import pipeline for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "The location of the import pipeline.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the import pipeline." + }, + "properties": { + "$ref": "#/definitions/ImportPipelineProperties", + "description": "The properties of the import pipeline.", + "x-ms-client-flatten": true + } + } + }, + "ImportPipelineProperties": { + "description": "The properties of an import pipeline.", + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/ImportPipelineSourceProperties", + "description": "The source properties of the import pipeline." + }, + "trigger": { + "$ref": "#/definitions/PipelineTriggerProperties", + "description": "The properties that describe the trigger of the import pipeline." + }, + "options": { + "description": "The list of all options configured for the pipeline.", + "type": "array", + "items": { + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineOptions", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the pipeline at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "ImportPipelineSourceProperties": { + "description": "The properties of the import pipeline source.", + "required": [ + "keyVaultUri" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of source for the import pipeline.", + "default": "AzureStorageBlobContainer", + "enum": [ + "AzureStorageBlobContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineSourceType", + "modelAsString": true + } + }, + "uri": { + "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"", + "type": "string" + }, + "keyVaultUri": { + "description": "They key vault secret uri to obtain the source storage SAS token.", + "type": "string" + } + } + }, + "PipelineTriggerProperties": { + "type": "object", + "properties": { + "sourceTrigger": { + "$ref": "#/definitions/PipelineSourceTriggerProperties", + "description": "The source trigger properties of the pipeline." + } + } + }, + "PipelineSourceTriggerProperties": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "The current status of the source trigger.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerStatus", + "modelAsString": true + } + } + } + }, + "OperationListResult": { + "description": "The result of a request to list container registry operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registry operations.", + "type": "string" + } + } + }, + "OperationDefinition": { + "description": "The definition of a container registry operation.", + "type": "object", + "properties": { + "origin": { + "description": "The origin information of the container registry operation.", + "type": "string" + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayDefinition", + "description": "The display information for the container registry operation." + }, + "properties": { + "$ref": "#/definitions/OperationPropertiesDefinition", + "description": "The properties information for the container registry operation.", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations", + "type": "boolean" + } + } + }, + "OperationDisplayDefinition": { + "description": "The display information for a container registry operation.", + "type": "object", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.ContainerRegistry.", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + }, + "OperationPropertiesDefinition": { + "description": "The definition of Azure Monitoring properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationServiceSpecificationDefinition", + "description": "The definition of Azure Monitoring service." + } + } + }, + "OperationServiceSpecificationDefinition": { + "description": "The definition of Azure Monitoring list.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "A list of Azure Monitoring metrics definition.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetricSpecificationDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "logSpecifications": { + "description": "A list of Azure Monitoring log definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLogSpecificationDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "OperationMetricSpecificationDefinition": { + "description": "The definition of Azure Monitoring metric.", + "type": "object", + "properties": { + "name": { + "description": "Metric name.", + "type": "string" + }, + "displayName": { + "description": "Metric display name.", + "type": "string" + }, + "displayDescription": { + "description": "Metric description.", + "type": "string" + }, + "unit": { + "description": "Metric unit.", + "type": "string" + }, + "aggregationType": { + "description": "Metric aggregation type.", + "type": "string" + }, + "internalMetricName": { + "description": "Internal metric name.", + "type": "string" + } + } + }, + "OperationLogSpecificationDefinition": { + "description": "The definition of Azure Monitoring log.", + "type": "object", + "properties": { + "name": { + "description": "Log name.", + "type": "string" + }, + "displayName": { + "description": "Log display name.", + "type": "string" + }, + "blobDuration": { + "description": "Log blob duration.", + "type": "string" + } + } + }, + "RegistryNameCheckRequest": { + "description": "A request to check whether a container registry name is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the container registry.", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "type": "string" + }, + "type": { + "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerRegistryResourceType", + "modelAsString": false + } + } + } + }, + "RegistryNameStatus": { + "description": "The result of a request to check the availability of a container registry name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value that indicates whether the name is available.", + "type": "boolean" + }, + "reason": { + "description": "If any, the reason that the name is not available.", + "type": "string" + }, + "message": { + "description": "If any, the error message that provides more detail for the reason that the name is not available.", + "type": "string" + } + } + }, + "PipelineRunListResult": { + "description": "The result of a request to list pipeline runs for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of pipeline runs. Since this list may be incomplete, the nextLink field should be used to request the next list of pipeline runs.", + "type": "array", + "items": { + "$ref": "#/definitions/PipelineRun" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of pipeline runs.", + "type": "string" + } + } + }, + "PipelineRun": { + "description": "An object that represents a pipeline run for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PipelineRunProperties", + "description": "The properties of a pipeline run.", + "x-ms-client-flatten": true + } + } + }, + "PipelineRunProperties": { + "description": "The properties of a pipeline run.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of a pipeline run.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "request": { + "$ref": "#/definitions/PipelineRunRequest", + "description": "The request parameters for a pipeline run." + }, + "response": { + "$ref": "#/definitions/PipelineRunResponse", + "description": "The response of a pipeline run.", + "readOnly": true + }, + "forceUpdateTag": { + "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed.", + "type": "string" + } + } + }, + "PipelineRunRequest": { + "description": "The request properties provided for a pipeline run.", + "type": "object", + "properties": { + "pipelineResourceId": { + "description": "The resource ID of the pipeline to run.", + "type": "string" + }, + "artifacts": { + "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').", + "type": "array", + "items": { + "type": "string" + } + }, + "source": { + "$ref": "#/definitions/PipelineRunSourceProperties", + "description": "The source properties of the pipeline run." + }, + "target": { + "$ref": "#/definitions/PipelineRunTargetProperties", + "description": "The target properties of the pipeline run." + }, + "catalogDigest": { + "description": "The digest of the tar used to transfer the artifacts.", + "type": "string" + } + } + }, + "PipelineRunResponse": { + "description": "The response properties returned for a pipeline run.", + "type": "object", + "properties": { + "status": { + "description": "The current status of the pipeline run.", + "type": "string" + }, + "importedArtifacts": { + "description": "The artifacts imported in the pipeline run.", + "type": "array", + "items": { + "type": "string" + } + }, + "progress": { + "$ref": "#/definitions/ProgressProperties", + "description": "The current progress of the copy operation." + }, + "startTime": { + "format": "date-time", + "description": "The time the pipeline run started.", + "type": "string" + }, + "finishTime": { + "format": "date-time", + "description": "The time the pipeline run finished.", + "type": "string" + }, + "source": { + "$ref": "#/definitions/ImportPipelineSourceProperties", + "description": "The source of the pipeline run." + }, + "target": { + "$ref": "#/definitions/ExportPipelineTargetProperties", + "description": "The target of the pipeline run." + }, + "catalogDigest": { + "description": "The digest of the tar used to transfer the artifacts.", + "type": "string" + }, + "trigger": { + "$ref": "#/definitions/PipelineTriggerDescriptor", + "description": "The trigger that caused the pipeline run." + }, + "pipelineRunErrorMessage": { + "description": "The detailed error message for the pipeline run in the case of failure.", + "type": "string" + } + } + }, + "PipelineRunSourceProperties": { + "type": "object", + "properties": { + "type": { + "description": "The type of the source.", + "default": "AzureStorageBlob", + "enum": [ + "AzureStorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineRunSourceType", + "modelAsString": true + } + }, + "name": { + "description": "The name of the source.", + "type": "string" + } + } + }, + "PipelineRunTargetProperties": { + "type": "object", + "properties": { + "type": { + "description": "The type of the target.", + "default": "AzureStorageBlob", + "enum": [ + "AzureStorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "PipelineRunTargetType", + "modelAsString": true + } + }, + "name": { + "description": "The name of the target.", + "type": "string" + } + } + }, + "ProgressProperties": { + "type": "object", + "properties": { + "percentage": { + "description": "The percentage complete of the copy operation.", + "type": "string" + } + } + }, + "PipelineTriggerDescriptor": { + "type": "object", + "properties": { + "sourceTrigger": { + "$ref": "#/definitions/PipelineSourceTriggerDescriptor", + "description": "The source trigger that caused the pipeline run." + } + } + }, + "PipelineSourceTriggerDescriptor": { + "type": "object", + "properties": { + "timestamp": { + "format": "date-time", + "description": "The timestamp when the source update happened.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "The result of a request to list private endpoint connections for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private endpoint connections.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "An object that represents a private endpoint connection for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "description": "The provisioning state of private endpoint connection resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint resource.", + "type": "object", + "properties": { + "id": { + "description": "This is private endpoint resource created with Microsoft.Network resource provider.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, + "RegistryListResult": { + "description": "The result of a request to list container registries.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.", + "type": "array", + "items": { + "$ref": "#/definitions/Registry" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of container registries.", + "type": "string" + } + } + }, + "Registry": { + "description": "An object that represents a container registry.", + "required": [ + "sku" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryProperties", + "description": "The properties of the container registry.", + "x-ms-client-flatten": true + } + } + }, + "Sku": { + "description": "The SKU of a container registry.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The SKU name of the container registry. Required for registry creation.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier based on the SKU name.", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "RegistryProperties": { + "description": "The properties of a container registry.", + "type": "object", + "properties": { + "loginServer": { + "description": "The URL that can be used to log into the container registry.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the container registry in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the container registry at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the container registry at the time the operation was called.", + "readOnly": true + }, + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "default": false, + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "dataEndpointHostNames": { + "description": "List of host names that will serve data when dataEndpointEnabled is true.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + }, + "anonymousPullEnabled": { + "description": "Enables registry-wide pull from unauthenticated clients.", + "default": false, + "type": "boolean" + } + } + }, + "Status": { + "description": "The status of an Azure resource at the time the operation was called.", + "type": "object", + "properties": { + "displayStatus": { + "description": "The short label for the status.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The detailed message for the status, including alerts and error messages.", + "type": "string", + "readOnly": true + }, + "timestamp": { + "format": "date-time", + "description": "The timestamp when the status was changed to the current value.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "The resource ID of the storage account.", + "type": "string" + } + } + }, + "NetworkRuleSet": { + "description": "The network rule set for a container registry.", + "required": [ + "defaultAction" + ], + "type": "object", + "properties": { + "defaultAction": { + "description": "The default action of allow or deny when no other rules match.", + "default": "Allow", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "ipRules": { + "description": "The IP ACL rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "x-ms-identifiers": [] + } + } + }, + "Policies": { + "description": "The policies for a container registry.", + "type": "object", + "properties": { + "quarantinePolicy": { + "$ref": "#/definitions/QuarantinePolicy", + "description": "The quarantine policy for a container registry." + }, + "trustPolicy": { + "$ref": "#/definitions/TrustPolicy", + "description": "The content trust policy for a container registry." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "The retention policy for a container registry." + }, + "exportPolicy": { + "$ref": "#/definitions/ExportPolicy", + "description": "The export policy for a container registry." + }, + "azureADAuthenticationAsArmPolicy": { + "$ref": "#/definitions/AzureADAuthenticationAsArmPolicy", + "description": "The policy for using ARM audience token for a container registry." + }, + "softDeletePolicy": { + "$ref": "#/definitions/SoftDeletePolicy", + "description": "The soft delete policy for a container registry." + } + } + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for container registry.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "PackageType": { + "description": "The properties of a package type.", + "type": "object", + "properties": { + "name": { + "description": "The name of the package type.", + "type": "string" + }, + "endpoint": { + "description": "The endpoint of the package type.", + "type": "string", + "readOnly": true + } + } + }, + "IPRule": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "action": { + "description": "The action of IP ACL rule.", + "default": "Allow", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "Action", + "modelAsString": true + } + }, + "value": { + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.", + "type": "string", + "x-ms-client-name": "IPAddressOrRange" + } + } + }, + "QuarantinePolicy": { + "description": "The quarantine policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "TrustPolicy": { + "description": "The content trust policy for a container registry.", + "type": "object", + "properties": { + "type": { + "description": "The type of trust policy.", + "default": "Notary", + "enum": [ + "Notary" + ], + "type": "string", + "x-ms-enum": { + "name": "TrustPolicyType", + "modelAsString": true + } + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "The retention policy for a container registry.", + "type": "object", + "properties": { + "days": { + "format": "int32", + "description": "The number of days to retain an untagged manifest after which it gets purged.", + "default": 7, + "type": "integer" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "The timestamp when the policy was last updated.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "ExportPolicy": { + "description": "The export policy for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "enabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ExportPolicyStatus", + "modelAsString": true + } + } + } + }, + "AzureADAuthenticationAsArmPolicy": { + "description": "The policy for using ARM audience token for a container registry.", + "type": "object", + "properties": { + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "enabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureADAuthenticationAsArmPolicyStatus", + "modelAsString": true + } + } + } + }, + "SoftDeletePolicy": { + "description": "The soft delete policy for a container registry", + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "The number of days after which a soft-deleted item is permanently deleted.", + "default": 7, + "type": "integer" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "The timestamp when the policy was last updated.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The value that indicates whether the policy is enabled or not.", + "default": "disabled", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "versionedKeyIdentifier": { + "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.", + "type": "string", + "readOnly": true + }, + "identity": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + }, + "keyRotationEnabled": { + "description": "Auto key rotation status for a CMK enabled registry.", + "type": "boolean", + "readOnly": true + }, + "lastKeyRotationTimestamp": { + "format": "date-time", + "description": "Timestamp of the last successful key rotation.", + "type": "string", + "readOnly": true + } + } + }, + "RegistryUpdateParameters": { + "description": "The parameters for updating a container registry.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the container registry." + }, + "tags": { + "description": "The tags for the container registry.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the container registry." + }, + "properties": { + "$ref": "#/definitions/RegistryPropertiesUpdateParameters", + "description": "The properties that the container registry will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "RegistryPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a container registry.", + "type": "object", + "properties": { + "adminUserEnabled": { + "description": "The value that indicates whether the admin user is enabled.", + "type": "boolean" + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "The network rule set for a container registry." + }, + "policies": { + "$ref": "#/definitions/Policies", + "description": "The policies for a container registry." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of container registry." + }, + "dataEndpointEnabled": { + "description": "Enable a single data endpoint per region for serving data.", + "type": "boolean" + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the container registry.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "networkRuleBypassOptions": { + "description": "Whether to allow trusted Azure services to access a network restricted registry.", + "default": "AzureServices", + "enum": [ + "AzureServices", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "anonymousPullEnabled": { + "description": "Enables registry-wide pull from unauthenticated clients.", + "type": "boolean" + } + } + }, + "RegistryUsageListResult": { + "description": "The result of a request to get container registry quota usages.", + "type": "object", + "properties": { + "value": { + "description": "The list of container registry quota usages.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryUsage" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "RegistryUsage": { + "description": "The quota usage for a container registry.", + "type": "object", + "properties": { + "name": { + "description": "The name of the usage.", + "type": "string" + }, + "limit": { + "format": "int64", + "description": "The limit of the usage.", + "type": "integer" + }, + "currentValue": { + "format": "int64", + "description": "The current value of the usage.", + "type": "integer" + }, + "unit": { + "description": "The unit of measurement.", + "enum": [ + "Count", + "Bytes" + ], + "type": "string", + "x-ms-enum": { + "name": "RegistryUsageUnit", + "modelAsString": true + } + } + } + }, + "PrivateLinkResourceListResult": { + "description": "The result of a request to list private link resources for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of private link resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A resource that supports private link capabilities.", + "type": "object", + "properties": { + "type": { + "description": "The resource type is private link resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The resource ID.", + "type": "string" + }, + "name": { + "description": "The name of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "A resource that supports private link capabilities.", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkResourceProperties": { + "description": "The properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RegistryListCredentialsResult": { + "description": "The response from the ListCredentials operation.", + "type": "object", + "properties": { + "username": { + "description": "The username for a container registry.", + "type": "string" + }, + "passwords": { + "description": "The list of passwords for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryPassword" + }, + "x-ms-identifiers": [] + } + } + }, + "RegistryPassword": { + "description": "The login password for the container registry.", + "type": "object", + "properties": { + "name": { + "description": "The password name.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + }, + "value": { + "description": "The password value.", + "type": "string" + } + } + }, + "RegenerateCredentialParameters": { + "description": "The parameters used to regenerate the login credential.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Specifies name of the password which should be regenerated -- password or password2.", + "enum": [ + "password", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "PasswordName", + "modelAsString": false + } + } + } + }, + "ReplicationListResult": { + "description": "The result of a request to list replications for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.", + "type": "array", + "items": { + "$ref": "#/definitions/Replication" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of replications.", + "type": "string" + } + } + }, + "Replication": { + "description": "An object that represents a replication for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProperties", + "description": "The properties of the replication.", + "x-ms-client-flatten": true + } + } + }, + "ReplicationProperties": { + "description": "The properties of a replication.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the replication at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The status of the replication at the time the operation was called.", + "readOnly": true + }, + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "default": true, + "type": "boolean" + }, + "zoneRedundancy": { + "description": "Whether or not zone redundancy is enabled for this container registry replication", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ZoneRedundancy", + "modelAsString": true + } + } + } + }, + "ReplicationUpdateParameters": { + "description": "The parameters for updating a replication.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the replication.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ReplicationUpdateParametersProperties", + "description": "The parameters for updating a replication's properties", + "x-ms-client-flatten": true + } + } + }, + "ReplicationUpdateParametersProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.", + "type": "boolean" + } + } + }, + "ScopeMapListResult": { + "description": "The result of a request to list scope maps for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of scope maps. Since this list may be incomplete, the nextLink field should be used to request the next list of scope maps.", + "type": "array", + "items": { + "$ref": "#/definitions/ScopeMap" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of scope maps.", + "type": "string" + } + } + }, + "ScopeMap": { + "description": "An object that represents a scope map for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScopeMapProperties", + "description": "The properties of the scope map.", + "x-ms-client-flatten": true + } + } + }, + "ScopeMapProperties": { + "description": "The properties of a scope map.", + "required": [ + "actions" + ], + "type": "object", + "properties": { + "description": { + "description": "The user friendly description of the scope map.", + "type": "string" + }, + "type": { + "description": "The type of the scope map. E.g. BuildIn scope map.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of scope map.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "actions": { + "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ScopeMapUpdateParameters": { + "description": "The properties for updating the scope map.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ScopeMapPropertiesUpdateParameters", + "description": "The update parameters for scope map properties.", + "x-ms-client-flatten": true + } + } + }, + "ScopeMapPropertiesUpdateParameters": { + "description": "The update parameters for scope map properties.", + "type": "object", + "properties": { + "description": { + "description": "The user friendly description of the scope map.", + "type": "string" + }, + "actions": { + "description": "The list of scope permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TokenListResult": { + "description": "The result of a request to list tokens for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of tokens. Since this list may be incomplete, the nextLink field should be used to request the next list of tokens.", + "type": "array", + "items": { + "$ref": "#/definitions/Token" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of tokens.", + "type": "string" + } + } + }, + "Token": { + "description": "An object that represents a token for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TokenProperties", + "description": "The properties of the token.", + "x-ms-client-flatten": true + } + } + }, + "TokenProperties": { + "description": "The properties of a token.", + "type": "object", + "properties": { + "creationDate": { + "format": "date-time", + "description": "The creation date of scope map.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "scopeMapId": { + "description": "The resource ID of the scope map to which the token will be associated with.", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/TokenCredentialsProperties", + "description": "The credentials that can be used for authenticating the token." + }, + "status": { + "description": "The status of the token example enabled or disabled.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenStatus", + "modelAsString": true + } + } + } + }, + "TokenCredentialsProperties": { + "description": "The properties of the credentials that can be used for authenticating the token.", + "type": "object", + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCertificate" + }, + "x-ms-identifiers": [ + "thumbprint" + ] + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + }, + "x-ms-identifiers": [] + } + } + }, + "ActiveDirectoryObject": { + "description": "The Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "object", + "properties": { + "objectId": { + "description": "The user/group/application object ID for Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of user/group/application object Active Directory Object that will be used for authenticating the token of a container registry.", + "type": "string" + } + } + }, + "TokenCertificate": { + "description": "The properties of a certificate used for authenticating a token.", + "type": "object", + "properties": { + "name": { + "enum": [ + "certificate1", + "certificate2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenCertificateName", + "modelAsString": true + } + }, + "expiry": { + "format": "date-time", + "description": "The expiry datetime of the certificate.", + "type": "string" + }, + "thumbprint": { + "description": "The thumbprint of the certificate.", + "type": "string" + }, + "encodedPemCertificate": { + "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token.", + "type": "string" + } + } + }, + "TokenPassword": { + "description": "The password that will be used for authenticating the token of a container registry.", + "type": "object", + "properties": { + "creationTime": { + "format": "date-time", + "description": "The creation datetime of the password.", + "type": "string" + }, + "expiry": { + "format": "date-time", + "description": "The expiry datetime of the password.", + "type": "string" + }, + "name": { + "description": "The password name \"password1\" or \"password2\"", + "enum": [ + "password1", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenPasswordName", + "modelAsString": true + } + }, + "value": { + "description": "The password value.", + "type": "string", + "readOnly": true + } + } + }, + "TokenUpdateParameters": { + "description": "The parameters for updating a token.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TokenUpdateProperties", + "description": "The properties of the token update parameters.", + "x-ms-client-flatten": true + } + } + }, + "TokenUpdateProperties": { + "description": "The parameters for updating token properties.", + "type": "object", + "properties": { + "scopeMapId": { + "description": "The resource ID of the scope map to which the token will be associated with.", + "type": "string" + }, + "status": { + "description": "The status of the token example enabled or disabled.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenStatus", + "modelAsString": true + } + }, + "credentials": { + "$ref": "#/definitions/TokenCredentialsProperties", + "description": "The credentials that can be used for authenticating the token." + } + } + }, + "GenerateCredentialsParameters": { + "description": "The parameters used to generate credentials for a specified token or user of a container registry.", + "type": "object", + "properties": { + "tokenId": { + "description": "The resource ID of the token for which credentials have to be generated.", + "type": "string" + }, + "expiry": { + "format": "date-time", + "description": "The expiry date of the generated credentials after which the credentials become invalid.", + "type": "string" + }, + "name": { + "description": "Specifies name of the password which should be regenerated if any -- password1 or password2.", + "enum": [ + "password1", + "password2" + ], + "type": "string", + "x-ms-enum": { + "name": "TokenPasswordName", + "modelAsString": true + } + } + } + }, + "GenerateCredentialsResult": { + "description": "The response from the GenerateCredentials operation.", + "type": "object", + "properties": { + "username": { + "description": "The username for a container registry.", + "type": "string" + }, + "passwords": { + "description": "The list of passwords for a container registry.", + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + }, + "x-ms-identifiers": [] + } + } + }, + "WebhookListResult": { + "description": "The result of a request to list webhooks for a container registry.", + "type": "object", + "properties": { + "value": { + "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.", + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of webhooks.", + "type": "string" + } + } + }, + "Webhook": { + "description": "An object that represents a webhook for a container registry.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebhookProperties", + "description": "The properties of the webhook.", + "x-ms-client-flatten": true + } + } + }, + "WebhookProperties": { + "description": "The properties of a webhook.", + "required": [ + "actions" + ], + "type": "object", + "properties": { + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + }, + "provisioningState": { + "description": "The provisioning state of the webhook at the time the operation was called.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "WebhookCreateParameters": { + "description": "The parameters for creating a webhook.", + "required": [ + "location" + ], + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "The location of the webhook. This cannot be changed after the resource is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesCreateParameters", + "description": "The properties that the webhook will be created with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesCreateParameters": { + "description": "The parameters for creating the properties of a webhook.", + "required": [ + "serviceUri", + "actions" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "WebhookUpdateParameters": { + "description": "The parameters for updating a webhook.", + "type": "object", + "properties": { + "tags": { + "description": "The tags for the webhook.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/WebhookPropertiesUpdateParameters", + "description": "The properties that the webhook will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WebhookPropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a webhook.", + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string", + "x-ms-secret": true + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-secret": true + }, + "status": { + "description": "The status of the webhook at the time the operation was called.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookStatus", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.", + "type": "string" + }, + "actions": { + "description": "The list of actions that trigger the webhook to post notifications.", + "type": "array", + "items": { + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ], + "type": "string", + "x-ms-enum": { + "name": "WebhookAction", + "modelAsString": true + } + } + } + } + }, + "EventInfo": { + "description": "The basic information of an event.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + } + } + }, + "EventListResult": { + "description": "The result of a request to list events for a webhook.", + "type": "object", + "properties": { + "value": { + "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of events.", + "type": "string" + } + } + }, + "Event": { + "description": "The event for a webhook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventInfo" + } + ], + "properties": { + "eventRequestMessage": { + "$ref": "#/definitions/EventRequestMessage", + "description": "The event request message sent to the service URI." + }, + "eventResponseMessage": { + "$ref": "#/definitions/EventResponseMessage", + "description": "The event response message received from the service URI." + } + } + }, + "EventRequestMessage": { + "description": "The event request message sent to the service URI.", + "type": "object", + "properties": { + "content": { + "$ref": "#/definitions/EventContent", + "description": "The content of the event request message." + }, + "headers": { + "description": "The headers of the event request message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "method": { + "description": "The HTTP method used to send the event request message.", + "type": "string" + }, + "requestUri": { + "description": "The URI used to send the event request message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventResponseMessage": { + "description": "The event response message received from the service URI.", + "type": "object", + "properties": { + "content": { + "description": "The content of the event response message.", + "type": "string" + }, + "headers": { + "description": "The headers of the event response message.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "reasonPhrase": { + "description": "The reason phrase of the event response message.", + "type": "string" + }, + "statusCode": { + "description": "The status code of the event response message.", + "type": "string" + }, + "version": { + "description": "The HTTP message version.", + "type": "string" + } + } + }, + "EventContent": { + "description": "The content of the event request message.", + "type": "object", + "properties": { + "id": { + "description": "The event ID.", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "description": "The time at which the event occurred.", + "type": "string" + }, + "action": { + "description": "The action that encompasses the provided event.", + "type": "string" + }, + "target": { + "$ref": "#/definitions/Target", + "description": "The target of the event." + }, + "request": { + "$ref": "#/definitions/Request", + "description": "The request that generated the event." + }, + "actor": { + "$ref": "#/definitions/Actor", + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request." + }, + "source": { + "$ref": "#/definitions/Source", + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it." + } + } + }, + "Target": { + "description": "The target of the event.", + "type": "object", + "properties": { + "mediaType": { + "description": "The MIME type of the referenced object.", + "type": "string" + }, + "size": { + "format": "int64", + "description": "The number of bytes of the content. Same as Length field.", + "type": "integer" + }, + "digest": { + "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.", + "type": "string" + }, + "length": { + "format": "int64", + "description": "The number of bytes of the content. Same as Size field.", + "type": "integer" + }, + "repository": { + "description": "The repository name.", + "type": "string" + }, + "url": { + "description": "The direct URL to the content.", + "type": "string" + }, + "tag": { + "description": "The tag name.", + "type": "string" + }, + "name": { + "description": "The name of the artifact.", + "type": "string" + }, + "version": { + "description": "The version of the artifact.", + "type": "string" + } + } + }, + "Request": { + "description": "The request that generated the event.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the request that initiated the event.", + "type": "string" + }, + "addr": { + "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.", + "type": "string" + }, + "host": { + "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.", + "type": "string" + }, + "method": { + "description": "The request method that generated the event.", + "type": "string" + }, + "useragent": { + "description": "The user agent header of the request.", + "type": "string" + } + } + }, + "Actor": { + "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.", + "type": "object", + "properties": { + "name": { + "description": "The subject or username associated with the request context that generated the event.", + "type": "string" + } + } + }, + "Source": { + "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.", + "type": "object", + "properties": { + "addr": { + "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.", + "type": "string" + }, + "instanceID": { + "description": "The running instance of an application. Changes after each restart.", + "type": "string" + } + } + }, + "CallbackConfig": { + "description": "The configuration of service URI and custom headers for the webhook.", + "required": [ + "serviceUri" + ], + "type": "object", + "properties": { + "serviceUri": { + "description": "The service URI for the webhook to post notifications.", + "type": "string" + }, + "customHeaders": { + "description": "Custom headers that will be added to the webhook notifications.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ErrorResponseBody": { + "description": "An error response from the Azure Container Registry service.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + }, + "details": { + "description": "an array of additional nested error response info objects, as described by this contract.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerErrorDescription" + }, + "x-ms-identifiers": [ + "message", + "target" + ] + } + } + }, + "InnerErrorDescription": { + "description": "inner error.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "error code.", + "type": "string" + }, + "message": { + "description": "error message.", + "type": "string" + }, + "target": { + "description": "target of the particular error.", + "type": "string" + } + } + } + }, + "parameters": { + "RegistryNameParameter": { + "name": "registryName", + "in": "path", + "description": "The name of the container registry.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "WebhookNameParameter": { + "name": "webhookName", + "in": "path", + "description": "The name of the webhook.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ReplicationNameParameter": { + "name": "replicationName", + "in": "path", + "description": "The name of the replication.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ScopeMapNameParameter": { + "name": "scopeMapName", + "in": "path", + "description": "The name of the scope map.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-_]*$", + "x-ms-parameter-location": "method" + }, + "TokenNameParameter": { + "name": "tokenName", + "in": "path", + "description": "The name of the token.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ExportPipelineNameParameter": { + "name": "exportPipelineName", + "in": "path", + "description": "The name of the export pipeline.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ImportPipelineNameParameter": { + "name": "importPipelineName", + "in": "path", + "description": "The name of the import pipeline.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "PipelineRunNameParameter": { + "name": "pipelineRunName", + "in": "path", + "description": "The name of the pipeline run.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ConnectedRegistryNameParameter": { + "name": "connectedRegistryName", + "in": "path", + "description": "The name of the connected registry.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ConnectedRegistryFilterParameter": { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that describes a subset of connectedRegistries to return. The parameters that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState. The supported operator is eq.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PackageTypeParameter": { + "name": "packageType", + "in": "path", + "description": "The type of the package resource.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 3, + "pattern": "^[a-zA-Z]*$", + "x-ms-parameter-location": "method" + }, + "ArchiveNameParameter": { + "name": "archiveName", + "in": "path", + "description": "The name of the archive resource.", + "required": true, + "type": "string", + "maxLength": 200, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "x-ms-parameter-location": "method" + }, + "ArchiveVersionNameParameter": { + "name": "archiveVersionName", + "in": "path", + "description": "The name of the archive version resource.", + "required": true, + "type": "string", + "maxLength": 200, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "x-ms-parameter-location": "method" + }, + "CredentialSetNameParameter": { + "name": "credentialSetName", + "in": "path", + "description": "The name of the credential set.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "x-ms-parameter-location": "method" + }, + "CacheRuleNameParameter": { + "name": "cacheRuleName", + "in": "path", + "description": "The name of the cache rule.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9-]*$", + "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/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveCreate.json new file mode 100644 index 000000000000..e5ba4e93fe87 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "rpm", + "archiveName": "myArchiveName", + "archiveCreateParameters": { + "properties": { + "packageSource": { + "type": "remote", + "url": "string" + }, + "publishedVersion": "string", + "repositoryEndpointPrefix": "string" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/archives", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName", + "name": "myArchiveName", + "properties": { + "packageSource": { + "type": "remote", + "url": "string" + }, + "publishedVersion": "string", + "repositoryEndpointPrefix": "string", + "repositoryEndpoint": "string", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName/operationStatuses/archive-00000000-0000-0000-0000-000000000000?api-version=2023-01-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/archives", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/archives/myArchiveName", + "name": "myArchiveName", + "properties": { + "packageSource": { + "type": "remote", + "url": "string" + }, + "publishedVersion": "string", + "repositoryEndpointPrefix": "string", + "repositoryEndpoint": "string", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveDelete.json new file mode 100644 index 000000000000..01fc5732615c --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType", + "archiveName": "myArchiveName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/myPackageType/archives/myArchiveName/operationStatuses/archive-00000000-0000-0000-0000-000000000000?api-version=2023-01-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveGet.json new file mode 100644 index 000000000000..1612860b8f4c --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType", + "archiveName": "myArchiveName" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/packages/archives", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/myPackageType/archives/myArchiveName", + "name": "myArchiveName", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-02-24T00:13:46.836Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-02-24T00:13:46.836Z" + }, + "properties": { + "packageSource": { + "type": "string", + "url": "string" + }, + "publishedVersion": "string", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveList.json new file mode 100644 index 000000000000..6f2199e4a8d3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "string", + "name": "string", + "type": "string", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-02-24T00:22:47.311Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-02-24T00:22:47.311Z" + }, + "properties": { + "packageSource": { + "type": "string", + "url": "string" + }, + "publishedVersion": "string", + "provisioningState": "Creating" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveUpdate.json new file mode 100644 index 000000000000..34157eb86565 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType", + "archiveName": "myArchiveName", + "archiveUpdateParameters": { + "properties": { + "publishedVersion": "string" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/packages/archives", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/myPackageType/archives/myArchiveName", + "name": "myArchiveName", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-06-09T23:41:38.720Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-06-09T23:41:38.720Z" + }, + "properties": { + "packageSource": { + "type": "remote", + "url": "string" + }, + "publishedVersion": "string", + "repositoryEndpointPrefix": "string", + "repositoryEndpoint": "string", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionCreate.json new file mode 100644 index 000000000000..a21676ca76ac --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "rpm", + "archiveName": "myArchiveName", + "archiveVersionName": "myArchiveVersionName" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/packages/archives/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName/versions/myArchiveVersionName", + "name": "myArchiveVersionName", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName/versions/myArchiveVersionName/operationStatuses/archoveversion-00000000-0000-0000-0000-000000000000?api-version=2023-01-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/packages/archives/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName/versions/myArchiveVersionName", + "name": "myCacheRule", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionDelete.json new file mode 100644 index 000000000000..7f851a0d1f52 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType", + "archiveName": "myArchiveName", + "archiveVersionName": "myArchiveVersionName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/myPackageType/archives/myArchiveName/versions/myArchiveVersionName/operationStatuses/archive-00000000-0000-0000-0000-000000000000?api-version=2023-01-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionGet.json new file mode 100644 index 000000000000..34051a3f1829 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "rpm", + "archiveName": "myArchiveName", + "archiveVersionName": "myArchiveVersionName" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/packages/archives", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/packages/rpm/archives/myArchiveName/versions/myArchiveVersionName", + "name": "myArchiveName", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-02-24T00:13:46.836Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-02-24T00:13:46.836Z" + }, + "properties": { + "provisioningState": "Creating", + "archiveVersionErrorMessage": "string" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionList.json new file mode 100644 index 000000000000..7463d316deb7 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ArchiveVersionList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "packageType": "myPackageType", + "archiveName": "myArchiveName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "string", + "name": "string", + "type": "string", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-02-24T00:22:47.311Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-02-24T00:22:47.311Z" + }, + "properties": { + "provisioningState": "Creating", + "archiveVersionErrorMessage": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleCreate.json new file mode 100644 index 000000000000..e5a657bb34a0 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "cacheRuleName": "myCacheRule", + "cacheRuleCreateParameters": { + "properties": { + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule/operationStatuses/cacherules-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleDelete.json new file mode 100644 index 000000000000..a820d1ba34a8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "cacheRuleName": "myCacheRule" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule/operationStatuses/cacherules-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleGet.json new file mode 100644 index 000000000000..c683b61bd58f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "cacheRuleName": "myCacheRule" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleList.json new file mode 100644 index 000000000000..3cc791637ad6 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleUpdate.json new file mode 100644 index 000000000000..45e1cb3ce21c --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CacheRuleUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "cacheRuleName": "myCacheRule", + "cacheRuleUpdateParameters": { + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet2" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet2", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule/operationStatuses/cacherules-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/cacheRules", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/cacheRules/myCacheRule", + "name": "myCacheRule", + "properties": { + "credentialSetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet2", + "sourceRepository": "docker.io/library/hello-world", + "targetRepository": "cached-docker-hub/hello-world", + "creationDate": "2022-11-07T18:20:33.8374968+00:00", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryCreate.json new file mode 100644 index 000000000000..05999ec7d939 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryCreate.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry", + "connectedRegistryCreateParameters": { + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry/operationStatuses/connectedregistries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDeactivate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDeactivate.json new file mode 100644 index 000000000000..ce13b9e0bbe3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDeactivate.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry/operationStatuses/connectedregistries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDelete.json new file mode 100644 index 000000000000..9266b507d2e0 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry/operationStatuses/connectedregistries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryGet.json new file mode 100644 index 000000000000..a0bc1f9b2f0a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myConnectedRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryList.json new file mode 100644 index 000000000000..9346cec4d52b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "activation": { + "status": "Inactive" + }, + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 9 * * *", + "messageTtl": "P2D", + "syncWindow": "PT3H" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token" + ], + "logging": { + "logLevel": "Information", + "auditLogStatus": "Disabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryUpdate.json new file mode 100644 index 000000000000..62f034ce9d17 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ConnectedRegistryUpdate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "connectedRegistryName": "myScopeMap", + "connectedRegistryUpdateParameters": { + "properties": { + "syncProperties": { + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + }, + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry/operationStatuses/connectedregistries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry", + "name": "myConnectedRegistry", + "type": "Microsoft.ContainerRegistry/registries/connectedRegistries", + "properties": { + "mode": "ReadWrite", + "parent": { + "syncProperties": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken", + "schedule": "0 0 */10 * *", + "messageTtl": "P30D", + "syncWindow": "P2D" + } + }, + "clientTokenIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token" + ], + "logging": { + "logLevel": "Debug", + "auditLogStatus": "Enabled" + }, + "notificationsList": [ + "hello-world:*:*", + "sample/repo/*:1.0:*" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetCreate.json new file mode 100644 index 000000000000..cd3647719012 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetCreate.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "credentialSetName": "myCredentialSet", + "credentialSetCreateParameters": { + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password" + } + ] + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet/operationStatuses/credentialsets-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetDelete.json new file mode 100644 index 000000000000..1f06ac02633e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "credentialSetName": "myCredentialSet" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet/operationStatuses/credentialsets-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetGet.json new file mode 100644 index 000000000000..75b4c200c7a5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "credentialSetName": "myCredentialSet" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetList.json new file mode 100644 index 000000000000..fa930c9c0382 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetUpdate.json new file mode 100644 index 000000000000..b2ad6e37f2c8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/CredentialSetUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "credentialSetName": "myCredentialSet", + "credentialSetUpdateParameters": { + "properties": { + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username2", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username2", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password2", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet/operationStatuses/credentialsets-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "type": "Microsoft.ContainerRegistry/registries/credentialSets", + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/credentialSets/myCredentialSet", + "name": "myCredentialSet", + "properties": { + "loginServer": "docker.io", + "authCredentials": [ + { + "name": "Credential1", + "usernameSecretIdentifier": "https://myvault.vault.azure.net/secrets/username2", + "passwordSecretIdentifier": "https://myvault.vault.azure.net/secrets/password2", + "credentialHealth": { + "status": "Healthy" + } + } + ], + "creationDate": "2022-11-07T18:20:08.012276+00:00", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineCreate.json new file mode 100644 index 000000000000..a6e07490399b --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineCreate.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline", + "exportPipelineCreateParameters": { + "location": "westus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline/operationStatuses/exportpipelines-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineDelete.json new file mode 100644 index 000000000000..37f07c210263 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline/operationStatuses/exportpipelines-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineGet.json new file mode 100644 index 000000000000..373658b728f4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "exportPipelineName": "myExportPipeline" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineList.json new file mode 100644 index 000000000000..9b4c186a6292 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ExportPipelineList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "name": "myExportPipeline", + "type": "Microsoft.ContainerRegistry/registries/exportPipelines", + "properties": { + "target": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + }, + "options": [ + "OverwriteBlobs" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v", + "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd", + "type": "SystemAssigned" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByManifestDigest.json new file mode 100644 index 000000000000..022c3318e408 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByManifestDigest.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/locations/location/operationResults/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByTag.json new file mode 100644 index 000000000000..b5ed3878b69c --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageByTag.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry", + "sourceImage": "sourceRepository:sourceTag" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/locations/location/operationResults/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageFromPublicRegistry.json new file mode 100644 index 000000000000..3c080b2d240a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportImageFromPublicRegistry.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "parameters": { + "source": { + "registryUri": "registry.hub.docker.com", + "sourceImage": "library/hello-world" + }, + "targetTags": [ + "targetRepository:targetTag" + ], + "untaggedTargetRepositories": [ + "targetRepository1" + ], + "mode": "Force" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/locations/location/operationResults/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineCreate.json new file mode 100644 index 000000000000..b721a9622755 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineCreate.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline", + "importPipelineCreateParameters": { + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + }, + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline/operationStatuses/importpipelines-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineDelete.json new file mode 100644 index 000000000000..c70f69a77c8e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline/operationStatuses/importpipelines-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineGet.json new file mode 100644 index 000000000000..1ac6a4a52e62 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "importPipelineName": "myImportPipeline" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineList.json new file mode 100644 index 000000000000..92028d8adf96 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ImportPipelineList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "name": "myImportPipeline", + "type": "Microsoft.ContainerRegistry/registries/importPipelines", + "properties": { + "source": { + "type": "AzureStorageBlobContainer", + "uri": "https://accountname.blob.core.windows.net/containername", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "trigger": { + "sourceTrigger": { + "status": "Enabled" + } + }, + "options": [ + "OverwriteTags", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ], + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e", + "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/OperationList.json new file mode 100644 index 000000000000..c3942a123710 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/OperationList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft ContainerRegistry", + "resource": "", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Export.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Export.json new file mode 100644 index 000000000000..936f04c0635e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Export.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun", + "pipelineRunCreateParameters": { + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "target": { + "type": "AzureStorageBlob", + "name": "myblob.tar.gz" + }, + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun/operationStatuses/pipelineruns-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Import.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Import.json new file mode 100644 index 000000000000..72da560f08f4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunCreate_Import.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun", + "pipelineRunCreateParameters": { + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline", + "source": { + "type": "AzureStorageBlob", + "name": "myblob.tar.gz" + }, + "catalogDigest": "sha256@" + }, + "forceUpdateTag": "2020-03-04T17:23:21.9261521+00:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun/operationStatuses/pipelineruns-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "finishTime": "2020-03-04T17:25:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunDelete.json new file mode 100644 index 000000000000..9b575af4c3e1 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun/operationStatuses/pipelineruns-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunGet.json new file mode 100644 index 000000000000..70d9f60795a4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "pipelineRunName": "myPipelineRun" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunList.json new file mode 100644 index 000000000000..16edfcc1de4f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PipelineRunList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline", + "artifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ] + }, + "response": { + "status": "Running", + "catalogDigest": "sha256@", + "progress": { + "percentage": "20" + }, + "startTime": "2020-03-04T17:23:21.9261521+00:00", + "target": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas" + } + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun", + "name": "myPipelineRun", + "type": "Microsoft.ContainerRegistry/registries/pipelineRuns", + "properties": { + "request": { + "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline" + }, + "response": { + "status": "Succeeded", + "progress": { + "percentage": "100" + }, + "startTime": "2020-03-03T17:23:21.9261521+00:00", + "importedArtifacts": [ + "sourceRepository/hello-world", + "sourceRepository2@sha256:00000000000000000000000000000000000" + ], + "source": { + "type": "AzureStorageBlob", + "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz", + "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas" + }, + "catalogDigest": "sha256@" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json new file mode 100644 index 000000000000..50fe02a73db5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection/operationStatuses/privateendpointconnections-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..bda54bdc3f5e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection/operationStatuses/privateendpointconnections-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..0afcd1be706a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..9d2ad5229310 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameAvailable.json new file mode 100644 index 000000000000..6c6244ef54cd --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameAvailable.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameNotAvailable.json new file mode 100644 index 000000000000..ba2d9b3e3c89 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCheckNameNotAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "registryNameCheckRequest": { + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The registry myRegistry is already in use." + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreate.json new file mode 100644 index 000000000000..026a17842140 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreate.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreateZoneRedundant.json new file mode 100644 index 000000000000..ac5c693fcdd8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryCreateZoneRedundant.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registry": { + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Creating", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Enabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryDelete.json new file mode 100644 index 000000000000..fffca78ddfe3 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGenerateCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGenerateCredentials.json new file mode 100644 index 000000000000..d732b1bc04f1 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGenerateCredentials.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "generateCredentialsParameters": { + "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "expiry": "2020-12-31T15:59:59.0707808Z" + } + }, + "responses": { + "200": { + "body": { + "username": "myToken", + "passwords": [ + { + "expiry": "2020-12-31T15:59:59.0707808Z", + "name": "password1", + "value": "00000000000000000000000000000000" + }, + { + "expiry": "2020-12-31T15:59:59.0707808Z", + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGet.json new file mode 100644 index 000000000000..465a74a37e0f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGet.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGetPrivateLinkResource.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGetPrivateLinkResource.json new file mode 100644 index 000000000000..2a041022d52f --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryGetPrivateLinkResource.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "groupName": "registry" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryList.json new file mode 100644 index 000000000000..4ddc20b3eb8a --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListByResourceGroup.json new file mode 100644 index 000000000000..0758ff0a16fc --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": false, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListCredentials.json new file mode 100644 index 000000000000..bc4eaeb34d68 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListCredentials.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListPrivateLinkResources.json new file mode 100644 index 000000000000..87346b42ba26 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListPrivateLinkResources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry", + "name": "registry", + "type": "Microsoft.ContainerRegistry/registries/privateLinkResources", + "properties": { + "groupId": "registry", + "requiredMembers": [ + "registry", + "registry_data_myregion" + ], + "requiredZoneNames": [ + "privatelink.azurecr.io" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListUsages.json new file mode 100644 index 000000000000..fec9e254c3d0 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryListUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Size", + "limit": 107374182400, + "currentValue": 12345678, + "unit": "Bytes" + }, + { + "name": "Webhooks", + "limit": 10, + "currentValue": 2, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryRegenerateCredential.json new file mode 100644 index 000000000000..9668e6e158e4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryRegenerateCredential.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "regenerateCredentialParameters": { + "name": "password" + } + }, + "responses": { + "200": { + "body": { + "username": "myRegistry", + "passwords": [ + { + "name": "password", + "value": "00000000000000000000000000000000" + }, + { + "name": "password2", + "value": "00000000000000000000000000000000" + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryUpdate.json new file mode 100644 index 000000000000..cbd064b47445 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/RegistryUpdate.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "registryUpdateParameters": { + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard" + }, + "properties": { + "adminUserEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Succeeded", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/operationStatuses/registries-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry", + "name": "myRegistry", + "type": "Microsoft.ContainerRegistry/registries", + "location": "westus", + "tags": { + "key": "value" + }, + "sku": { + "name": "Standard", + "tier": "Standard" + }, + "properties": { + "loginServer": "myRegistry.azurecr-test.io", + "creationDate": "2021-06-15T21:38:26.1537861Z", + "provisioningState": "Updating", + "adminUserEnabled": true, + "networkRuleSet": { + "defaultAction": "Allow", + "ipRules": [] + }, + "policies": { + "quarantinePolicy": { + "status": "disabled" + }, + "trustPolicy": { + "type": "Notary", + "status": "disabled" + }, + "retentionPolicy": { + "days": 7, + "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00", + "status": "disabled" + }, + "exportPolicy": { + "status": "enabled" + } + }, + "encryption": { + "status": "disabled" + }, + "status": null, + "dataEndpointEnabled": false, + "dataEndpointHostNames": [], + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "networkRuleBypassOptions": "AzureServices", + "zoneRedundancy": "Disabled", + "anonymousPullEnabled": false + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreate.json new file mode 100644 index 000000000000..695b46c8fb02 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication/operationStatuses/replications-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreateZoneRedundant.json new file mode 100644 index 000000000000..121833b1ab81 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationCreateZoneRedundant.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replication": { + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication/operationStatuses/replications-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Creating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationDelete.json new file mode 100644 index 000000000000..454808de39b8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication/operationStatuses/replications-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationGet.json new file mode 100644 index 000000000000..ee01df959f28 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationList.json new file mode 100644 index 000000000000..b74280dcffac --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationUpdate.json new file mode 100644 index 000000000000..af1bf1dabba6 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ReplicationUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "replicationName": "myReplication", + "replicationUpdateParameters": { + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "status": { + "displayStatus": "Ready", + "message": "The replication is ready.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication/operationStatuses/replications-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication", + "name": "myReplication", + "type": "Microsoft.ContainerRegistry/registries/replications", + "location": "eastus", + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Updating", + "status": { + "displayStatus": "Provisioning", + "message": "The replication is provisioning.", + "timestamp": "2017-03-01T23:15:37.0707808Z" + }, + "regionEndpointEnabled": true, + "zoneRedundancy": "Disabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapCreate.json new file mode 100644 index 000000000000..4954ce97f485 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapCreate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap", + "scopeMapCreateParameters": { + "properties": { + "description": "Developer Scopes", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap/operationStatuses/scopemaps-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapDelete.json new file mode 100644 index 000000000000..c9c00da25978 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap/operationStatuses/scopemaps-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapGet.json new file mode 100644 index 000000000000..7b0e0ed1c231 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapList.json new file mode 100644 index 000000000000..07d94be5b807 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/delete" + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapUpdate.json new file mode 100644 index 000000000000..60fb83516a3e --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/ScopeMapUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "scopeMapName": "myScopeMap", + "scopeMapUpdateParameters": { + "properties": { + "description": "Developer Scopes", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap/operationStatuses/scopemaps-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "name": "myScopeMap", + "type": "Microsoft.ContainerRegistry/registries/scopeMaps", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "type": "IsUserDefined", + "actions": [ + "repositories/myrepository/contentWrite", + "repositories/myrepository/contentRead" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenCreate.json new file mode 100644 index 000000000000..b811fbef5ac8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenCreate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken", + "tokenCreateParameters": { + "properties": { + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7", + "expiry": "2020-12-04T15:32:48.0707808Z" + } + ] + } + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken/operationStatuses/tokens-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "disabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7", + "expiry": "2020-12-04T15:32:48.0707808Z" + } + ] + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenDelete.json new file mode 100644 index 000000000000..815dce34dbd5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken/operationStatuses/tokens-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenGet.json new file mode 100644 index 000000000000..83376d3ceca4 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "enabled" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenList.json new file mode 100644 index 000000000000..26008e9a9237 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap", + "provisioningState": "Succeeded", + "status": "enabled" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenUpdate.json new file mode 100644 index 000000000000..e28b0a1838ba --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/TokenUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "tokenName": "myToken", + "tokenUpdateParameters": { + "properties": { + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "provisioningState": "Succeeded", + "status": "enabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken/operationStatuses/tokens-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken", + "name": "myToken", + "type": "Microsoft.ContainerRegistry/registries/tokens", + "properties": { + "creationDate": "2017-03-01T23:14:37.0707808Z", + "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap", + "provisioningState": "Succeeded", + "status": "enabled", + "credentials": { + "certificates": [ + { + "name": "certificate1", + "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } + ] + } + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookCreate.json new file mode 100644 index 000000000000..7964cd0a8f35 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookCreateParameters": { + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "******" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook/operationStatuses/webhooks-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookDelete.json new file mode 100644 index 000000000000..d0325f44feae --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook/operationStatuses/webhooks-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGet.json new file mode 100644 index 000000000000..e2a3e0130819 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGetCallbackConfig.json new file mode 100644 index 000000000000..a377e7322ce8 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookGetCallbackConfig.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "******" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookList.json new file mode 100644 index 000000000000..8638900a6b85 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookListEvents.json new file mode 100644 index 000000000000..63c651b73bf5 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookListEvents.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000000", + "eventRequestMessage": { + "content": { + "id": "00000000-0000-0000-0000-000000000000", + "timestamp": "2017-03-01T23:14:37.0707808Z", + "action": "push", + "target": { + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "size": 708, + "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "length": 708, + "repository": "hello-world", + "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf", + "tag": "latest" + }, + "request": { + "id": "00000000-0000-0000-0000-000000000000", + "addr": "192.168.64.11:42961", + "host": "192.168.100.227:5000", + "method": "GET", + "useragent": "curl/7.38.0" + }, + "actor": {}, + "source": { + "addr": "xtal.local:5000", + "instanceID": "00000000-0000-0000-0000-000000000000" + } + }, + "headers": { + "Content-Type": "application/json", + "Content-Length": "719", + "Authorization": "******" + }, + "method": "POST", + "requestUri": "http://myservice.com", + "version": "1.1" + }, + "eventResponseMessage": { + "headers": { + "Content-Length": "0" + }, + "statusCode": "200", + "version": "1.1" + } + } + ] + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookPing.json new file mode 100644 index 000000000000..a5b4ad250a09 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookPing.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookUpdate.json new file mode 100644 index 000000000000..527918cd8781 --- /dev/null +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2023-06-01-preview/examples/WebhookUpdate.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-06-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "registryName": "myRegistry", + "webhookName": "myWebhook", + "webhookUpdateParameters": { + "tags": { + "key": "value" + }, + "properties": { + "serviceUri": "http://myservice.com", + "customHeaders": { + "Authorization": "******" + }, + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook/operationStatuses/webhooks-00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook", + "name": "myWebhook", + "type": "Microsoft.ContainerRegistry/registries/webhooks", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "status": "enabled", + "scope": "myRepository", + "actions": [ + "push" + ], + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md index 9f195c74de1f..fc117c61c819 100644 --- a/specification/containerregistry/resource-manager/readme.go.md +++ b/specification/containerregistry/resource-manager/readme.go.md @@ -8,6 +8,17 @@ module-name: sdk/resourcemanager/containerregistry/armcontainerregistry module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true +directive: + - from: containerregistry_build.json + where: $.definitions.IdentityProperties.properties + transform: > + $.principalId['readOnly'] = true; + $.tenantId['readOnly'] = true; + - from: containerregistry_build.json + where: $.definitions.UserIdentityProperties.properties + transform: > + $.principalId['readOnly'] = true; + $.clientId['readOnly'] = true; ``` ``` yaml $(go) && !$(track2) diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md index 8554be22d927..46ac97e9bd06 100644 --- a/specification/containerregistry/resource-manager/readme.md +++ b/specification/containerregistry/resource-manager/readme.md @@ -26,14 +26,34 @@ These are the global settings for the ContainerRegistry API. ``` yaml openapi-type: arm -tag: package-2023-01-preview +tag: package-2023-06-preview +``` + + +### Tag: package-2023-06-preview-only + +These settings apply only when `--tag=package-2023-06-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2023-06-preview-only' +input-file: + - Microsoft.ContainerRegistry/preview/2023-06-01-preview/containerregistry.json +``` + +### Tag: package-2023-06-preview + +These settings apply only when `--tag=package-2023-06-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2023-06-preview' +input-file: + - Microsoft.ContainerRegistry/preview/2023-06-01-preview/containerregistry.json + - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json ``` ### Tag: package-2023-01-preview-only These settings apply only when `--tag=package-2023-01-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2023-01-preview-only' +``` yaml $(tag) == 'package-2023-01-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2023-01-01-preview/containerregistry.json ``` @@ -42,17 +62,17 @@ input-file: These settings apply only when `--tag=package-2023-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2023-01-preview' +``` yaml $(tag) == 'package-2023-01-preview' input-file: - Microsoft.ContainerRegistry/preview/2023-01-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json - ``` +``` ### Tag: package-2022-12-only These settings apply only when `--tag=package-2022-12-only` is specified on the command line. -```yaml $(tag) == 'package-2022-12-only' +``` yaml $(tag) == 'package-2022-12-only' input-file: - Microsoft.ContainerRegistry/stable/2022-12-01/containerregistry.json ``` @@ -61,7 +81,7 @@ input-file: These settings apply only when `--tag=package-2022-12` is specified on the command line. -```yaml $(tag) == 'package-2022-12' +``` yaml $(tag) == 'package-2022-12' input-file: - Microsoft.ContainerRegistry/stable/2022-12-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -99,7 +119,7 @@ input-file: These settings apply only when `--tag=package-2021-12-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-12-preview' +``` yaml $(tag) == 'package-2021-12-preview' input-file: - Microsoft.ContainerRegistry/preview/2021-12-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -109,7 +129,7 @@ input-file: These settings apply only when `--tag=package-2021-09-only` is specified on the command line. -```yaml $(tag) == 'package-2021-09-only' +``` yaml $(tag) == 'package-2021-09-only' input-file: - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json ``` @@ -118,7 +138,7 @@ input-file: These settings apply only when `--tag=package-2021-09` is specified on the command line. -```yaml $(tag) == 'package-2021-09' +``` yaml $(tag) == 'package-2021-09' input-file: - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -128,7 +148,7 @@ input-file: These settings apply only when `--tag=package-2021-08-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2021-08-preview-only' +``` yaml $(tag) == 'package-2021-08-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json ``` @@ -137,7 +157,7 @@ input-file: These settings apply only when `--tag=package-2021-08-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-08-preview' +``` yaml $(tag) == 'package-2021-08-preview' input-file: - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -147,7 +167,7 @@ input-file: These settings apply only when `--tag=package-2021-06-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2021-06-preview-only' +``` yaml $(tag) == 'package-2021-06-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json ``` @@ -156,7 +176,7 @@ input-file: These settings apply only when `--tag=package-2021-06-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-06-preview' +``` yaml $(tag) == 'package-2021-06-preview' input-file: - Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -166,7 +186,7 @@ input-file: These settings apply only when `--tag=package-2020-11-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2020-11-preview-only' +``` yaml $(tag) == 'package-2020-11-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json ``` @@ -175,7 +195,7 @@ input-file: These settings apply only when `--tag=package-2020-11-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-11-preview' +``` yaml $(tag) == 'package-2020-11-preview' input-file: - Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -185,7 +205,7 @@ input-file: These settings apply only when `--tag=package-2019-12-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2019-12-preview-only' +``` yaml $(tag) == 'package-2019-12-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json ``` @@ -194,7 +214,7 @@ input-file: These settings apply only when `--tag=package-2019-12-preview` is specified on the command line. -```yaml $(tag) == 'package-2019-12-preview' +``` yaml $(tag) == 'package-2019-12-preview' input-file: - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -205,7 +225,7 @@ input-file: These settings apply only when `--tag=package-2019-06-preview` is specified on the command line. -```yaml $(tag) == 'package-2019-06-preview' +``` yaml $(tag) == 'package-2019-06-preview' input-file: - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json @@ -216,7 +236,7 @@ input-file: These settings apply only when `--tag=package-2019-06-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2019-06-preview-only' +``` yaml $(tag) == 'package-2019-06-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json ``` @@ -225,7 +245,7 @@ input-file: These settings apply only when `--tag=package-2019-05-only` is specified on the command line. -```yaml $(tag) == 'package-2019-05-only' +``` yaml $(tag) == 'package-2019-05-only' input-file: - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json ``` @@ -234,7 +254,7 @@ input-file: These settings apply only when `--tag=package-2019-05` is specified on the command line. -```yaml $(tag) == 'package-2019-05' +``` yaml $(tag) == 'package-2019-05' input-file: - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json @@ -244,7 +264,7 @@ input-file: These settings apply only when `--tag=package-2019-05-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2019-05-preview-only' +``` yaml $(tag) == 'package-2019-05-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json ``` @@ -253,7 +273,7 @@ input-file: These settings apply only when `--tag=package-2019-05-preview` is specified on the command line. -```yaml $(tag) == 'package-2019-05-preview' +``` yaml $(tag) == 'package-2019-05-preview' input-file: - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json @@ -263,7 +283,7 @@ input-file: These settings apply only when `--tag=package-2019-04` is specified on the command line. -```yaml $(tag) == 'package-2019-04' +``` yaml $(tag) == 'package-2019-04' input-file: - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json @@ -273,7 +293,7 @@ input-file: These settings apply only when `--tag=package-2019-04-only` is specified on the command line. -```yaml $(tag) == 'package-2019-04-only' +``` yaml $(tag) == 'package-2019-04-only' input-file: - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json ``` @@ -282,7 +302,7 @@ input-file: These settings apply only when `--tag=package-2018-09-only` is specified on the command line. -```yaml $(tag) == 'package-2018-09-only' +``` yaml $(tag) == 'package-2018-09-only' input-file: - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json ``` @@ -291,7 +311,7 @@ input-file: These settings apply only when `--tag=package-2018-09` is specified on the command line. -```yaml $(tag) == 'package-2018-09' +``` yaml $(tag) == 'package-2018-09' input-file: - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json @@ -301,7 +321,7 @@ input-file: These settings apply only when `--tag=package-2018-02-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2018-02-preview-only' +``` yaml $(tag) == 'package-2018-02-preview-only' input-file: - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json ``` @@ -310,7 +330,7 @@ input-file: These settings apply only when `--tag=package-2018-02-preview` is specified on the command line. -```yaml $(tag) == 'package-2018-02-preview' +``` yaml $(tag) == 'package-2018-02-preview' input-file: - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json @@ -320,7 +340,7 @@ input-file: These settings apply only when `--tag=package-2017-10` is specified on the command line. -```yaml $(tag) == 'package-2017-10' +``` yaml $(tag) == 'package-2017-10' input-file: - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json ``` @@ -329,7 +349,7 @@ input-file: These settings apply only when `--tag=package-2017-06-preview` is specified on the command line. -```yaml $(tag) == 'package-2017-06-preview' +``` yaml $(tag) == 'package-2017-06-preview' input-file: - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json ``` @@ -338,7 +358,7 @@ input-file: These settings apply only when `--tag=package-2017-03` is specified on the command line. -```yaml $(tag) == 'package-2017-03' +``` yaml $(tag) == 'package-2017-03' input-file: - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json ``` @@ -347,7 +367,7 @@ input-file: These settings apply only when `--tag=package-2016-06-preview` is specified on the command line. -```yaml $(tag) == 'package-2016-06-preview' +``` yaml $(tag) == 'package-2016-06-preview' input-file: - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json ``` @@ -361,7 +381,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-net-track2 - repo: azure-sdk-for-python-track2 @@ -381,7 +401,7 @@ swagger-to-sdk: These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. -```yaml $(csharp) +``` yaml $(csharp) csharp: # stop the simplifier from making Task conflict: skip-simplifier-on-namespace: @@ -406,3 +426,11 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) + +### Suppress rules that might be fixed + +``` yaml +suppressions: + - code: LroErrorContent + reason: The Error object is shared between all controllers. Changing the Error object will require refactoring all the controllers. This is planned for 2023-07-01-preview +``` diff --git a/specification/containerservice/Fleet.Management/fleet.tsp b/specification/containerservice/Fleet.Management/fleet.tsp index 6b7e8d6ad2af..1b9fb765e6a4 100644 --- a/specification/containerservice/Fleet.Management/fleet.tsp +++ b/specification/containerservice/Fleet.Management/fleet.tsp @@ -29,6 +29,7 @@ model Fleet is TrackedResource { @segment("fleets") @visibility("create", "read") name: string; + ...EntityTag; } diff --git a/specification/containerservice/Fleet.Management/fleetmember.tsp b/specification/containerservice/Fleet.Management/fleetmember.tsp index 94793fef2fce..d741cda366b6 100644 --- a/specification/containerservice/Fleet.Management/fleetmember.tsp +++ b/specification/containerservice/Fleet.Management/fleetmember.tsp @@ -24,6 +24,7 @@ model FleetMember is ProxyResource { @segment("members") @visibility("create", "read") name: string; + ...EntityTag; } diff --git a/specification/containerservice/Fleet.Management/helpers.tsp b/specification/containerservice/Fleet.Management/helpers.tsp index 7b35d2cbe420..6c42eab412bf 100644 --- a/specification/containerservice/Fleet.Management/helpers.tsp +++ b/specification/containerservice/Fleet.Management/helpers.tsp @@ -42,7 +42,7 @@ op ArmResourceNoRequestBodyActionSync< TResponse extends TypeSpec.Reflection.Model, TBaseParameters = Azure.ResourceManager.Foundations.BaseParameters >( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; #suppress "@azure-tools/typespec-azure-core/documentation-required" "this is a template" @@ -61,7 +61,7 @@ op ArmResourceNoRequestBodyActionAsync< TResponse extends TypeSpec.Reflection.Model, TBaseParameters = Azure.ResourceManager.Foundations.BaseParameters >( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ArmAcceptedResponseWithLocationHeader | ErrorResponse; #suppress "@azure-tools/cadl-azure-resource-manager/arm-resource-operation-outside-interface" "this is a template" @@ -78,7 +78,7 @@ op FleetCustomPatchSync< @doc("The resource properties to be updated.") @body - parameters?: TPatchModel //prevents api breaking change. properties -> parameters + parameters?: TPatchModel, //prevents api breaking change. properties -> parameters ): ArmResponse | ErrorResponse; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-outside-interface" "this is a template" @@ -101,7 +101,7 @@ op FleetArmResourceCreateOrUpdateAsync< @doc("Resource create parameters.") @body - parameters: TResource //prevent api breaking change. resource -> parameters + parameters: TResource, //prevent api breaking change. resource -> parameters ): ArmResponse | ArmCreatedResponse | ErrorResponse; // this is a copy of ArmResourceDeleteAsync that adds the location header to comply with arm linter. diff --git a/specification/containerservice/Fleet.Management/updaterun.tsp b/specification/containerservice/Fleet.Management/updaterun.tsp index 343e6c45a66b..ad2f63b4f497 100644 --- a/specification/containerservice/Fleet.Management/updaterun.tsp +++ b/specification/containerservice/Fleet.Management/updaterun.tsp @@ -30,6 +30,7 @@ model UpdateRun is ProxyResource { @path @visibility("create", "read") name: string; + ...EntityTag; } diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAbortOperation.json new file mode 100644 index 000000000000..552d7bc5a490 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAbortOperation.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAssociate_CRG.json new file mode 100644 index 000000000000..23ef23980b41 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsAssociate_CRG.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..de43307bd2f6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..6fba9f3527bd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json new file mode 100644 index 000000000000..615940a76e1a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableCustomCATrust": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableCustomCATrust": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableCustomCATrust": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..adaefc4bd2d6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..9a027a02a074 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..fa1e72314a06 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..47080ee522f7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..7a34db4e73d9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json new file mode 100644 index 000000000000..8b44b5b08d97 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..e0b321fa6723 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..76aae4c2120b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..74127dd2ea6d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..d77971fb5448 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..b06e2f9a001c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..43487b04e6d0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json new file mode 100644 index 000000000000..5554072f4522 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "wnp2", + "parameters": { + "properties": { + "orchestratorVersion": "1.23.8", + "count": 3, + "vmSize": "Standard_D4s_v3", + "osType": "Windows", + "osSKU": "Windows2022", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.23.8", + "currentOrchestratorVersion": "1.23.8", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.23.8", + "currentOrchestratorVersion": "1.23.8", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022", + "windowsProfile": { + "disableOutboundNat": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json new file mode 100644 index 000000000000..3032e7e49233 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "wnp2", + "parameters": { + "properties": { + "orchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "osType": "Windows", + "osSKU": "Windows2022" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.23.3", + "currentOrchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.23.3", + "currentOrchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..1f68f4b10596 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json new file mode 100644 index 000000000000..87e72210af87 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "ignorePodDisruptionBudget": true + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..199462e29f88 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..55f51d2ebb10 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..922600be816a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsList.json new file mode 100644 index 000000000000..89dc53c59219 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..ac340d9e5433 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Start.json new file mode 100644 index 000000000000..37ce2e16e9a9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..fda5d0701d07 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Update.json new file mode 100644 index 000000000000..b1ea0dc9f4df --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/AgentPools_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..8d6ec8ffdd49 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/KubernetesVersions_List.json new file mode 100644 index 000000000000..2d51c6482227 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/KubernetesVersions_List.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "values": [ + { + "version": "1.23", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.23.12": { + "upgrades": [ + "1.23.15", + "1.24.6", + "1.24.9" + ] + }, + "1.23.15": { + "upgrades": [ + "1.24.6", + "1.24.9" + ] + } + } + }, + { + "version": "1.24", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.24.6": { + "upgrades": [ + "1.24.9", + "1.25.4", + "1.25.5" + ] + }, + "1.24.9": { + "upgrades": [ + "1.25.4", + "1.25.5" + ] + } + } + }, + { + "version": "1.25", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.25.4": { + "upgrades": [ + "1.25.5", + "1.26.0" + ] + }, + "1.25.5": { + "upgrades": [ + "1.26.0" + ] + } + } + }, + { + "version": "1.26", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.26.0": { + "upgrades": [] + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..e0ec267e11ef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json new file mode 100644 index 000000000000..a2795dbd9e69 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedAutoUpgradeSchedule", + "parameters": { + "properties": { + "maintenanceWindow": { + "schedule": { + "relativeMonthly": { + "intervalMonths": 3, + "weekIndex": "First", + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "aksManagedAutoUpgradeSchedule", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 3, + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "aksManagedAutoUpgradeSchedule", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 3, + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..8076986fea79 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json new file mode 100644 index 000000000000..df263354b03c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedNodeOSUpgradeSchedule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..28cd5b48870c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json new file mode 100644 index 000000000000..601e1864a896 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedNodeOSUpgradeSchedule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "aksManagedNodeOSUpgradeSchedule", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "maintenanceWindow": { + "schedule": { + "daily": { + "intervalDays": 3 + } + }, + "durationHours": 4, + "utcOffset": "-07:00", + "startDate": "2023-01-01", + "startTime": "09:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..d3afd7eefbb8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json new file mode 100644 index 000000000000..60dc15fb14d7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "aksManagedNodeOSUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "daily": { + "intervalDays": 5 + } + }, + "durationHours": 10, + "utcOffset": "-07:00", + "startDate": "2023-01-01", + "startTime": "13:30" + } + } + }, + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "absoluteMonthly": { + "intervalMonths": 3, + "dayOfMonth": 15 + } + }, + "durationHours": 5, + "utcOffset": "+00:00", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsCreate.json new file mode 100644 index 000000000000..1833c22bfb22 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsCreate.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsDelete.json new file mode 100644 index 000000000000..f71b8f6f11a0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsGet.json new file mode 100644 index 000000000000..5f555a3c0c01 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsList.json new file mode 100644 index 000000000000..5a732f05ec48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..cd087291da2e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json new file mode 100644 index 000000000000..37a209e0303f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAbortOperation.json new file mode 100644 index 000000000000..a56344bc8588 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAbortOperation.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAssociate_CRG.json new file mode 100644 index 000000000000..9948dafdea87 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersAssociate_CRG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json new file mode 100644 index 000000000000..902fabf29a07 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -0,0 +1,259 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..9c1da8940821 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..03aec350d5a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "KubernetesOfficial" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "KubernetesOfficial" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..4469ac264401 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json new file mode 100644 index 000000000000..c4e3640fc7a6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableCustomCATrust": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableCustomCATrust": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableCustomCATrust": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "securityProfile": { + "customCATrustCertificates": [ + "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ=" + ] + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..1f48ebc40aba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..082364f7e07d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..ecbc975457db --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..58575743d7ad --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..08541f49892f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json new file mode 100644 index 000000000000..143355d36fef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_MCSnapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_MCSnapshot.json new file mode 100644 index 000000000000..a9d8feed4423 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_MCSnapshot.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1" + }, + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..c934d3df0afd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..b8e40511bd2c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..f9b9a34d541f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "AzureLinux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..b526bdb105e3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..b1e27ed34c74 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Premium.json new file mode 100644 index 000000000000..8b4662dd3a0e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Premium.json @@ -0,0 +1,270 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "supportPlan": "AKSLongTermSupport" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "AKSLongTermSupport" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "AKSLongTermSupport" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..b7d1cf195f0f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..9e0dda6a976e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..a9a45391b368 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..c212cf4109a2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..835883ed3708 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,319 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "upgradeSettings": { + "overrideSettings": { + "controlPlaneOverrides": [ + "IgnoreKubernetesDeprecations" + ], + "until": "2022-11-01T13:00:00Z" + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "upgradeSettings": { + "overrideSettings": { + "controlPlaneOverrides": [ + "IgnoreKubernetesDeprecations" + ], + "until": "2022-11-01T13:00:00Z" + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..b4d41f2af09a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..591837662813 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..eb2db6bd4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json new file mode 100644 index 000000000000..e4ea9c2c139f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "enableNamespaceResources": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..4284f2f7fa49 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..9dc60caceb48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..8f41aeb6bb72 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "upgradeSettings": { + "overrideSettings": { + "controlPlaneOverrides": [ + "IgnoreKubernetesDeprecations" + ], + "until": "2022-11-01T13:00:00Z" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..9e8e04f05fa7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "a3ViZUNvbmZpZzE=" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..16e440fe8f37 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json new file mode 100644 index 000000000000..0865202ae4b6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "location": "location1", + "mode": "istio" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "name": "istio", + "properties": { + "meshRevisions": [ + { + "revision": "1-17", + "upgrades": [ + "1-18" + ], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ] + }, + { + "revision": "1-18", + "upgrades": [], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json new file mode 100644 index 000000000000..b8dfd3da3cd0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "mode": "istio" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "name": "istio", + "properties": { + "revision": "1-17", + "upgrades": [ + "1-18" + ], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList.json new file mode 100644 index 000000000000..223503fa01bf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..311652d46f82 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..8bc7a28c2f51 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json new file mode 100644 index 000000000000..2e9117e6a6f9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio", + "type": "Microsoft.ContainerService/locations/meshRevisionProfiles", + "name": "istio", + "properties": { + "meshRevisions": [ + { + "revision": "1-17", + "upgrades": [ + "1-18" + ], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ] + }, + { + "revision": "1-18", + "upgrades": [], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.24", + "1.25", + "1.26", + "1.27" + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json new file mode 100644 index 000000000000..7bd552e65357 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio", + "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles", + "name": "istio", + "properties": { + "revision": "1-17", + "upgrades": [ + "1-18" + ], + "compatibleWith": [ + { + "name": "kubernetes", + "versions": [ + "1.23", + "1.24", + "1.25", + "1.26" + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..e6ebbaf576a0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..4342fe1a1340 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..9dc60caceb48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json new file mode 100644 index 000000000000..9dc60caceb48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..9dc60caceb48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..9dc60caceb48 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersStop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..1cde7fd452b3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/Operation_List.json new file mode 100644 index 000000000000..61eb9e2dda63 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..abd11508918b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..135e24faa97a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..fdcf310e2a49 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..225ac43454df --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..42a75455c0fd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..a7547e52ee1a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..c19a9401f29f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandRequest.json new file mode 100644 index 000000000000..8eaed6e2bf80 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-02-preview" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..d102257853b8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..27a27d99e165 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..74b9643ce898 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..f71b8f6f11a0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsGet.json new file mode 100644 index 000000000000..a580ba63e1dd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsList.json new file mode 100644 index 000000000000..2008c56b8857 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..e87be37c4d12 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..7de75cfe0e1f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json new file mode 100644 index 000000000000..78e300ffe5b9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "trustedAccessRoleBindingName": "binding1", + "trustedAccessRoleBinding": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "name": "binding1", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "name": "binding1", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Delete.json new file mode 100644 index 000000000000..bb057bc49024 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Get.json new file mode 100644 index 000000000000..502559e3d3d5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "trustedAccessRoleBindingName": "binding1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "name": "binding1", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_List.json new file mode 100644 index 000000000000..1108f28c1f75 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoleBindings_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "name": "binding1", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/reader", + "Microsoft.MachineLearningServices/workspaces/writer" + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoles_List.json new file mode 100644 index 000000000000..be564001d110 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/examples/TrustedAccessRoles_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-06-02-preview", + "subscriptionId": "subid1", + "location": "westus2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sourceResourceType": "Microsoft.MachineLearningServices/workspaces", + "name": "reader", + "rules": [ + { + "verbs": [ + "get" + ], + "apiGroups": [ + "" + ], + "resources": [ + "pods" + ], + "resourceNames": [], + "nonResourceURLs": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/managedClusters.json new file mode 100644 index 000000000000..a39e026a356e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-06-02-preview/managedClusters.json @@ -0,0 +1,8399 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2023-06-02-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": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of operations.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "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/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListKubernetesVersions", + "summary": "Gets a list of supported Kubernetes versions in the specified subscription.", + "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version", + "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/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubernetesVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Kubernetes Versions": { + "$ref": "./examples/KubernetesVersions_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and 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": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets the upgrade profile of a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Lists the admin credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Lists the user credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Lists the cluster monitoring user credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "responses": { + "200": { + "description": "The existing managed cluster was successfully updated.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "The new managed cluster was successfully created.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create/Update Managed Cluster with EnableNamespaceResources": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with LongTermSupport": { + "$ref": "./examples/ManagedClustersCreate_Premium.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with Azure Key Vault Secrets Provider Addon": { + "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with Web App Routing Ingress Profile configured": { + "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create Managed Cluster using a managed cluster snapshot": { + "$ref": "./examples/ManagedClustersCreate_MCSnapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + }, + "Associate Managed Cluster with Capacity Reservation Group": { + "$ref": "./examples/ManagedClustersAssociate_CRG.json" + }, + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + }, + "Create Managed Cluster with CustomCATrustCertificates populated and CustomCATrust enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableCustomCATrust.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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 Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + }, + "List maintenance configurations configured with maintenance window by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + }, + "Get Maintenance Configuration Configured With Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "The existing maintenance configuration was successfully updated.", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "201": { + "description": "The new maintenance configuration was successfully created.", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + }, + "Create/Update Maintenance Configuration with Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "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": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.json" + }, + "Delete Maintenance Configuration For Node OS Upgrade": { + "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_AbortLatestOperation", + "summary": "Aborts last operation running on agent pool.", + "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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": { + "Abort operation on agent pool": { + "$ref": "./examples/AgentPoolsAbortOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the specified managed cluster agent pool.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The agent pool to create or update." + } + ], + "responses": { + "200": { + "description": "The existing agent pool was successfully updated.", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "The new agent pool was successfully created.", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with Windows OSSKU": { + "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" + }, + "Create Windows Agent Pool with disabling OutboundNAT": { + "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Create Agent Pool with Message of the Day": { + "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Associate Agent Pool with Capacity Reservation Group": { + "$ref": "./examples/AgentPoolsAssociate_CRG.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + }, + "Create Agent Pool with CustomCATrust enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableCustomCATrust.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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 Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + }, + "Delete Agent Pool by ignoring PodDisruptionBudget": { + "$ref": "./examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets the upgrade profile for an agent pool.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "summary": "Reset the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the managed cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset the AAD Profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "The AAD profile to set on the Managed Cluster" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_AbortLatestOperation", + "summary": "Aborts last operation running on managed cluster.", + "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.", + "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/ResourceNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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": { + "Abort operation on managed cluster": { + "$ref": "./examples/ManagedClustersAbortOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "summary": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "summary": "Rotates the service account signing keys of a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Rotate Cluster Service Account Signing Keys": { + "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The new private endpoint connection was successfully created.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "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/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "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/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and 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": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "The existing snapshot was successfully updated.", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "The new snapshot was successfully created.", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_List", + "summary": "Gets a list of managed cluster snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Cluster Snapshots": { + "$ref": "./examples/ManagedClusterSnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_ListByResourceGroup", + "summary": "Lists managed cluster snapshots in the specified subscription and 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": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Cluster Snapshots by Resource Group": { + "$ref": "./examples/ManagedClusterSnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_Get", + "summary": "Gets a managed cluster snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_CreateOrUpdate", + "summary": "Creates or updates a managed cluster snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + }, + "description": "The managed cluster snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "The existing managed cluster snapshot was successfully updated.", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "201": { + "description": "The new managed cluster snapshot was successfully created.", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_UpdateTags", + "summary": "Updates tags on a managed cluster snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update managed cluster snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Managed Cluster Snapshot Tags": { + "$ref": "./examples/ManagedClusterSnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_Delete", + "summary": "Deletes a managed cluster snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": { + "get": { + "tags": [ + "TrustedAccess" + ], + "operationId": "TrustedAccessRoles_List", + "summary": "List supported trusted access roles.", + "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/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleListResult" + } + }, + "default": { + "description": "Error details", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List trusted access roles": { + "$ref": "./examples/TrustedAccessRoles_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings": { + "get": { + "tags": [ + "TrustedAccess" + ], + "operationId": "TrustedAccessRoleBindings_List", + "summary": "List trusted access role bindings.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBindingListResult" + } + }, + "default": { + "description": "Error details", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List trusted access role bindings": { + "$ref": "./examples/TrustedAccessRoleBindings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}": { + "get": { + "tags": [ + "TrustedAccess" + ], + "operationId": "TrustedAccessRoleBindings_Get", + "summary": "Get a trusted access role binding.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "default": { + "description": "Error details", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_Get.json" + } + } + }, + "put": { + "tags": [ + "TrustedAccess" + ], + "operationId": "TrustedAccessRoleBindings_CreateOrUpdate", + "summary": "Create or update a trusted access role binding", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + }, + { + "name": "trustedAccessRoleBinding", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + }, + "description": "A trusted access role binding" + } + ], + "responses": { + "200": { + "description": "The existing trusted access role binding was successfully updated.", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "201": { + "description": "The new trusted access role binding was successfully created.", + "schema": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + } + }, + "default": { + "description": "Error details", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or update a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "TrustedAccess" + ], + "operationId": "TrustedAccessRoleBindings_Delete", + "summary": "Delete a trusted access role binding.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error details", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a trusted access role binding": { + "$ref": "./examples/TrustedAccessRoleBindings_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListMeshRevisionProfiles", + "summary": "Lists mesh revision profiles for all meshes in the specified location.", + "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades", + "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/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MeshRevisionProfileList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List mesh revision profiles in a location": { + "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetMeshRevisionProfile", + "summary": "Gets a mesh revision profile for a specified mesh in the specified location.", + "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades", + "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/LocationParameter" + }, + { + "$ref": "#/parameters/MeshModeParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MeshRevisionProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a mesh revision profile for a mesh mode": { + "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListMeshUpgradeProfiles", + "summary": "Lists available upgrades for all service meshes in a specific cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MeshUpgradeProfileList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists version compatibility and upgrade profile for all service meshes in a cluster": { + "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetMeshUpgradeProfile", + "summary": "Gets available upgrades for a service mesh in a cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/MeshModeParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MeshUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets version compatibility and upgrade profile for a service mesh in a cluster": { + "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "x-ms-identifiers": [], + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "type": "object", + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Operation Value Display." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "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" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ManagedClusterServicePrincipalProfile": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ManagedClusterAgentPoolProfileProperties": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "messageOfTheDay": { + "type": "string", + "title": "Message of the day for Linux nodes, base64-encoded.", + "description": "A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + }, + "vnetSubnetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + }, + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + }, + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes specified by the user.", + "description": "Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "currentOrchestratorVersion": { + "readOnly": true, + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "enableCustomCATrust": { + "type": "boolean", + "title": "Whether to enable Custom CA Trust feature.", + "description": "When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + }, + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + }, + "capacityReservationGroupID": { + "$ref": "#/definitions/CapacityReservationGroupID", + "description": "AKS will associate the specified agent pool with the Capacity Reservation Group." + }, + "hostGroupID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/hostGroups" + } + ] + }, + "title": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." + }, + "windowsProfile": { + "$ref": "#/definitions/AgentPoolWindowsProfile", + "description": "The Windows agent pool's specific profile." + }, + "networkProfile": { + "$ref": "#/definitions/AgentPoolNetworkProfile", + "description": "Network-related settings of an agent pool." + }, + "securityProfile": { + "$ref": "#/definitions/AgentPoolSecurityProfile", + "description": "The security settings of an agent pool." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "AgentPoolNetworkProfile": { + "type": "object", + "properties": { + "nodePublicIPTags": { + "$ref": "#/definitions/NodePublicIPTags", + "description": "IPTags of instance-level public IPs." + }, + "allowedHostPorts": { + "type": "array", + "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.", + "items": { + "$ref": "#/definitions/PortRange" + }, + "x-ms-identifiers": [] + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/applicationSecurityGroups" + } + ] + } + }, + "description": "The IDs of the application security groups which agent pool will associate when created." + } + }, + "description": "Network settings of an agent pool." + }, + "NodePublicIPTags": { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + }, + "x-ms-identifiers": [], + "description": "The list of tags associated with the node public IP address." + }, + "IPTag": { + "type": "object", + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type. Example: RoutingPreference." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag associated with the public IP. Example: Internet." + } + }, + "description": "Contains the IPTag associated with the object." + }, + "PortRange": { + "type": "object", + "description": "The port range.", + "properties": { + "portStart": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 65535, + "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd." + }, + "portEnd": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 65535, + "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart." + }, + "protocol": { + "type": "string", + "description": "The network protocol of the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true, + "values": [ + { + "value": "TCP", + "description": "TCP protocol." + }, + { + "value": "UDP", + "description": "UDP protocol." + } + ] + } + } + } + }, + "ManagedClusterAgentPoolProfile": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ], + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + }, + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "AgentPoolListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + }, + "drainTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 1440, + "minimum": 1, + "title": "The drain timeout for a node", + "description": "The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes." + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + }, + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ManagedClusterNodeResourceGroupProfile": { + "type": "object", + "properties": { + "restrictionLevel": { + "type": "string", + "enum": [ + "Unrestricted", + "ReadOnly" + ], + "x-ms-enum": { + "name": "RestrictionLevel", + "modelAsString": true, + "values": [ + { + "value": "Unrestricted", + "description": "All RBAC permissions are allowed on the managed node resource group" + }, + { + "value": "ReadOnly", + "description": "Only */read RBAC permissions allowed on the managed node resource group" + } + ] + }, + "description": "The restriction level applied to the cluster's node resource group" + } + }, + "description": "Node resource group lockdown profile for a managed cluster." + }, + "ContainerServiceNetworkProfile": { + "type": "object", + "properties": { + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPluginMode": { + "$ref": "#/definitions/NetworkPluginMode", + "description": "Network plugin mode used for building the Kubernetes network." + }, + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "networkDataplane": { + "$ref": "#/definitions/NetworkDataplane", + "description": "Network dataplane used in the Kubernetes cluster." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + }, + "kubeProxyConfig": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations)." + }, + "mode": { + "type": "string", + "enum": [ + "IPTABLES", + "IPVS" + ], + "x-ms-enum": { + "name": "mode", + "modelAsString": true, + "values": [ + { + "value": "IPTABLES", + "description": "IPTables proxy mode" + }, + { + "value": "IPVS", + "description": "IPVS proxy mode. Must be using Kubernetes version >= 1.22." + } + ] + }, + "description": "Specify which proxy mode to use ('IPTABLES' or 'IPVS')" + }, + "ipvsConfig": { + "type": "object", + "properties": { + "scheduler": { + "type": "string", + "enum": [ + "RoundRobin", + "LeastConnection" + ], + "x-ms-enum": { + "name": "ipvsScheduler", + "modelAsString": true, + "values": [ + { + "value": "RoundRobin", + "description": "Round Robin" + }, + { + "value": "LeastConnection", + "description": "Least Connection" + } + ] + }, + "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html." + }, + "tcpTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value." + }, + "tcpFinTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value." + }, + "udpTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value." + } + }, + "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'." + } + }, + "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'." + }, + "monitoring": { + "$ref": "#/definitions/NetworkMonitoring" + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "MaintenanceConfiguration": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "type": "object", + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "x-ms-identifiers": [], + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "x-ms-identifiers": [], + "description": "Time slots on which upgrade is not allowed." + }, + "maintenanceWindow": { + "type": "object", + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window for the maintenance configuration." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Recurrence schedule for the maintenance window." + }, + "durationHours": { + "type": "integer", + "format": "int32", + "minimum": 4, + "maximum": 24, + "default": 24, + "description": "Length of maintenance window range from 4 to 24 hours." + }, + "utcOffset": { + "type": "string", + "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$", + "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + }, + "startTime": { + "type": "string", + "pattern": "^\\d{2}:\\d{2}$", + "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'." + }, + "notAllowedDates": { + "type": "array", + "items": { + "$ref": "#/definitions/DateSpan" + }, + "x-ms-identifiers": [], + "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time." + } + }, + "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", + "required": [ + "schedule", + "durationHours", + "startTime" + ] + }, + "Schedule": { + "type": "object", + "properties": { + "daily": { + "$ref": "#/definitions/DailySchedule" + }, + "weekly": { + "$ref": "#/definitions/WeeklySchedule" + }, + "absoluteMonthly": { + "$ref": "#/definitions/AbsoluteMonthlySchedule" + }, + "relativeMonthly": { + "$ref": "#/definitions/RelativeMonthlySchedule" + } + }, + "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule." + }, + "DailySchedule": { + "type": "object", + "properties": { + "intervalDays": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 7, + "description": "Specifies the number of days between each set of occurrences." + } + }, + "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", + "required": [ + "intervalDays" + ] + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "intervalWeeks": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 4, + "description": "Specifies the number of weeks between each set of occurrences." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." + } + }, + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", + "required": [ + "intervalWeeks", + "dayOfWeek" + ] + }, + "AbsoluteMonthlySchedule": { + "type": "object", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 6, + "description": "Specifies the number of months between each set of occurrences." + }, + "dayOfMonth": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 31, + "description": "The date of the month." + } + }, + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", + "required": [ + "intervalMonths", + "dayOfMonth" + ] + }, + "RelativeMonthlySchedule": { + "type": "object", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 6, + "description": "Specifies the number of months between each set of occurrences." + }, + "weekIndex": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "value": "First", + "description": "First." + }, + { + "value": "Second", + "description": "Second." + }, + { + "value": "Third", + "description": "Third." + }, + { + "value": "Fourth", + "description": "Fourth." + }, + { + "value": "Last", + "description": "Last." + } + ] + }, + "title": "The week index.", + "description": "Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." + } + }, + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", + "required": [ + "intervalMonths", + "weekIndex", + "dayOfWeek" + ] + }, + "DateSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date", + "description": "The start date of the date span." + }, + "end": { + "type": "string", + "format": "date", + "description": "The end date of the date span." + } + }, + "title": "A date range.", + "description": "For example, between '2022-12-23' and '2023-01-05'.", + "required": [ + "start", + "end" + ] + }, + "TimeInWeek": { + "type": "object", + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "type": "object", + "properties": { + "managedOutboundIPs": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "type": "object", + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "type": "object", + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + }, + "backendPoolType": { + "type": "string", + "x-ms-enum": { + "name": "BackendPoolType", + "modelAsString": true, + "values": [ + { + "value": "NodeIPConfiguration", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + }, + { + "value": "NodeIP", + "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend." + } + ] + }, + "enum": [ + "NodeIPConfiguration", + "NodeIP" + ], + "description": "The type of the managed inbound Load Balancer BackendPool.", + "default": "NodeIPConfiguration" + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "x-ms-identifiers": [], + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ManagedClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot." + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is requested to run.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "currentKubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes the Managed Cluster is running." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "x-ms-identifiers": [], + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The name of the resource group containing agent pool nodes." + }, + "nodeResourceGroupProfile": { + "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile", + "description": "The node resource group configuration profile." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "supportPlan": { + "$ref": "#/definitions/KubernetesSupportPlan", + "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp." + }, + "enableNamespaceResources": { + "type": "boolean", + "title": "Enable namespace as Azure resource.", + "description": "The default value is false. It can be enabled/disabled on creation and updating of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "upgradeSettings": { + "$ref": "#/definitions/ClusterUpgradeSettings", + "description": "Settings for upgrading a cluster." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/diskEncryptionSets" + } + ] + }, + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "storageProfile": { + "$ref": "#/definitions/ManagedClusterStorageProfile", + "description": "Storage profile for the managed cluster." + }, + "ingressProfile": { + "$ref": "#/definitions/ManagedClusterIngressProfile", + "description": "Ingress profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "SecuredByPerimeter" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Inbound/Outbound to the managedCluster is allowed." + }, + { + "value": "Disabled", + "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed." + }, + { + "value": "SecuredByPerimeter", + "description": "Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters." + } + ] + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + }, + "workloadAutoScalerProfile": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile" + }, + "azureMonitorProfile": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfile" + }, + "guardrailsProfile": { + "$ref": "#/definitions/GuardrailsProfile", + "description": "The guardrails profile holds all the guardrails information for a given cluster" + }, + "serviceMeshProfile": { + "$ref": "#/definitions/ServiceMeshProfile" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "type": "object", + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "type": "object", + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." + }, + "enableVnetIntegration": { + "type": "boolean", + "description": "Whether to enable apiserver vnet integration for the cluster or not." + }, + "subnetId": { + "type": "string", + "title": "The subnet to be used when apiserver vnet integration is enabled.", + "description": "It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "delegatedResources": { + "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources", + "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The resource ID of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + }, + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "type": "object", + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "x-ms-identifiers": [], + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAutoUpgradeProfile": { + "type": "object", + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + }, + "nodeOSUpgradeChannel": { + "type": "string", + "enum": [ + "Unmanaged", + "None", + "SecurityPatch", + "NodeImage" + ], + "x-ms-enum": { + "name": "NodeOSUpgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" + }, + { + "value": "Unmanaged", + "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially, and will be patched at some later time by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" + }, + { + "value": "SecurityPatch", + "description": "AKS will update the nodes VHD with patches from the image maintainer labelled \"security only\" on a regular basis. Where possible, patches will also be applied without reimaging to existing nodes. Some patches, such as kernel patches, cannot be applied to existing nodes without disruption. For such patches, the VHD will be updated, and machines will be rolling reimaged to that VHD following maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group." + }, + { + "value": "NodeImage", + "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." + } + ] + }, + "title": "Manner in which the OS on your nodes is updated", + "description": "The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ControlPlaneUpgradeOverride": { + "type": "string", + "enum": [ + "IgnoreKubernetesDeprecations" + ], + "x-ms-enum": { + "name": "ControlPlaneUpgradeOverride", + "modelAsString": true, + "values": [ + { + "value": "IgnoreKubernetesDeprecations", + "description": "Upgrade the cluster control plane version without checking for recent Kubernetes deprecations usage." + } + ] + }, + "description": "The list of control plane upgrade override settings." + }, + "UpgradeOverrideSettings": { + "type": "object", + "properties": { + "controlPlaneOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/ControlPlaneUpgradeOverride" + }, + "x-ms-identifiers": [], + "description": "List of upgrade overrides when upgrading a cluster's control plane." + }, + "until": { + "type": "string", + "format": "date-time", + "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect." + } + }, + "description": "Settings for overrides when upgrading a cluster." + }, + "ClusterUpgradeSettings": { + "type": "object", + "properties": { + "overrideSettings": { + "$ref": "#/definitions/UpgradeOverrideSettings", + "description": "Settings for overrides." + } + }, + "description": "Settings for upgrading a cluster." + }, + "ManagedClusterAADProfile": { + "type": "object", + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + }, + "serverAppID": { + "type": "string", + "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + }, + "serverAppSecret": { + "type": "string", + "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy." + }, + "tenantID": { + "type": "string", + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "ManagedClusterAddonProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterPodIdentity": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "type": "object", + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "x-ms-identifiers": [], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + }, + "x-ms-identifiers": [] + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + }, + "x-ms-identifiers": [] + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterOIDCIssuerProfile": { + "type": "object", + "properties": { + "issuerURL": { + "readOnly": true, + "type": "string", + "description": "The OIDC issuer url of the Managed Cluster." + }, + "enabled": { + "type": "boolean", + "description": "Whether the OIDC issuer is enabled." + } + }, + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "ManagedClusterUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "type": "object", + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner", + "Mariner", + "AzureLinux", + "Windows2019", + "Windows2022" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true, + "values": [ + { + "value": "Ubuntu", + "description": "Use Ubuntu as the OS for node images." + }, + { + "value": "Mariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "value": "AzureLinux", + "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." + }, + { + "value": "CBLMariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "value": "Windows2019", + "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." + }, + { + "value": "Windows2022", + "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." + } + ] + }, + "description": "Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/proximityPlacementGroups" + } + ] + }, + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "type": "object", + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "x-ms-identifiers": [], + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "type": "object", + "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" + }, + "x-ms-identifiers": [], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Base" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true, + "values": [ + { + "value": "Base", + "description": "Base option for the AKS control plane." + } + ] + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "enum": [ + "Premium", + "Standard", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Premium", + "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." + }, + { + "value": "Standard", + "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi", + "KataMshvVmIsolation" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + }, + { + "value": "KataMshvVmIsolation", + "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "AgentPoolWindowsProfile": { + "type": "object", + "description": "The Windows agent pool's specific profile.", + "properties": { + "disableOutboundNat": { + "type": "boolean", + "title": "Whether to disable OutboundNAT in windows nodes", + "description": "The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled." + } + } + }, + "AgentPoolSecurityProfile": { + "type": "object", + "properties": { + "sshAccess": { + "$ref": "#/definitions/AgentPoolSSHAccess", + "description": "SSH access method of an agent pool." + } + }, + "description": "The security settings of an agent pool." + }, + "AgentPoolSSHAccess": { + "type": "string", + "enum": [ + "LocalUser", + "Disabled" + ], + "x-ms-enum": { + "name": "AgentPoolSSHAccess", + "modelAsString": true, + "values": [ + { + "value": "LocalUser", + "description": "Can SSH onto the node as a local user using private key." + }, + { + "value": "Disabled", + "description": "SSH service will be turned off on the node." + } + ] + }, + "description": "SSH access method of an agent pool." + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "minimum": 10, + "maximum": 90, + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "minimum": 131072, + "maximum": 2097152, + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "minimum": 65536, + "maximum": 524288, + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "effectiveNoProxy": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "type": "object", + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "type": "object", + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "x-ms-identifiers": [], + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes 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" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "defender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefender", + "description": "Microsoft Defender settings for the security profile." + }, + "azureKeyVaultKms": { + "$ref": "#/definitions/AzureKeyVaultKms", + "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile." + }, + "workloadIdentity": { + "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity", + "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details." + }, + "imageCleaner": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", + "description": "Image Cleaner settings for the security profile." + }, + "imageIntegrity": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageIntegrity", + "description": "Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy." + }, + "nodeRestriction": { + "$ref": "#/definitions/ManagedClusterSecurityProfileNodeRestriction", + "description": "[Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile." + }, + "customCATrustCertificates": { + "$ref": "#/definitions/ManagedClusterSecurityProfileCustomCATrustCertificates", + "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority)" + } + }, + "description": "Security profile for the container service cluster." + }, + "ManagedClusterSecurityProfileDefender": { + "type": "object", + "properties": { + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.OperationalInsights/workspaces" + } + ] + }, + "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty." + }, + "securityMonitoring": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", + "description": "Microsoft Defender threat detection for Cloud settings for the security profile." + } + }, + "description": "Microsoft Defender settings for the security profile." + }, + "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Defender threat detection" + } + }, + "description": "Microsoft Defender settings for the security profile threat detection." + }, + "ManagedClusterStorageProfile": { + "type": "object", + "properties": { + "diskCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", + "description": "AzureDisk CSI Driver settings for the storage profile." + }, + "fileCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", + "description": "AzureFile CSI Driver settings for the storage profile." + }, + "snapshotController": { + "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", + "description": "Snapshot Controller settings for the storage profile." + }, + "blobCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", + "description": "AzureBlob CSI Driver settings for the storage profile." + } + }, + "description": "Storage profile for the container service cluster." + }, + "AzureKeyVaultKms": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Key Vault key management service. The default is false." + }, + "keyId": { + "type": "string", + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." + }, + "keyVaultNetworkAccess": { + "type": "string", + "enum": [ + "Public", + "Private" + ], + "default": "Public", + "x-ms-enum": { + "name": "KeyVaultNetworkAccessTypes", + "modelAsString": true + }, + "title": "Network access of the key vault", + "description": "Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`." + }, + "keyVaultResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.KeyVault/vaults" + } + ] + }, + "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty." + } + }, + "description": "Azure Key Vault key management service settings for the security profile." + }, + "ManagedClusterIngressProfile": { + "type": "object", + "properties": { + "webAppRouting": { + "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", + "description": "Web App Routing settings for the ingress profile." + } + }, + "description": "Ingress profile for the container service cluster." + }, + "ManagedClusterIngressProfileWebAppRouting": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Web App Routing." + }, + "dnsZoneResourceId": { + "type": "string", + "format": "arm-id", + "description": "Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled." + }, + "identity": { + "readOnly": true, + "type": "object", + "$ref": "#/definitions/UserAssignedIdentity", + "description": "Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions." + } + }, + "description": "Web App Routing settings for the ingress profile." + }, + "ManagedClusterSecurityProfileWorkloadIdentity": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable workload identity." + } + }, + "description": "Workload identity settings for the security profile." + }, + "ManagedClusterSecurityProfileImageCleaner": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Image Cleaner on AKS cluster." + }, + "intervalHours": { + "type": "integer", + "format": "int32", + "description": "Image Cleaner scanning interval in hours." + } + }, + "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile." + }, + "ManagedClusterSecurityProfileImageIntegrity": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable image integrity. The default value is false." + } + }, + "description": "Image integrity related settings for the security profile." + }, + "ManagedClusterSecurityProfileNodeRestriction": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Node Restriction" + } + }, + "description": "Node Restriction settings for the security profile." + }, + "ManagedClusterSecurityProfileCustomCATrustCertificates": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "minItems": 0, + "maxItems": 10, + "title": "The list of base64 encoded certificate strings that will be added to the node trust store. At most 10 strings can be provided.", + "description": "Certificates will only be added to trust stores on node pools that have enableCustomCATrust field set to true. If updated, the new list of certificates will be installed in the trust store in place of the old certificates. The certificates are applied asynchronously and will be available a short time after the list is updated." + }, + "ManagedClusterStorageProfileDiskCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureDisk CSI Driver. The default value is true." + }, + "version": { + "type": "string", + "description": "The version of AzureDisk CSI Driver. The default value is v1." + } + }, + "description": "AzureDisk CSI Driver settings for the storage profile." + }, + "ManagedClusterStorageProfileFileCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureFile CSI Driver. The default value is true." + } + }, + "description": "AzureFile CSI Driver settings for the storage profile." + }, + "ManagedClusterStorageProfileSnapshotController": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Snapshot Controller. The default value is true." + } + }, + "description": "Snapshot Controller settings for the storage profile." + }, + "ManagedClusterStorageProfileBlobCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureBlob CSI Driver. The default value is false." + } + }, + "description": "AzureBlob CSI Driver settings for the storage profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "format": "arm-id", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "ManagedClusterSnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterSnapshot" + }, + "description": "The list of managed cluster snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Cluster Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "A node pool snapshot resource." + }, + "ManagedClusterSnapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a managed cluster snapshot.", + "$ref": "#/definitions/ManagedClusterSnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "A managed cluster snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "ManagedClusterSnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "managedClusterPropertiesReadOnly": { + "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot", + "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only." + } + }, + "description": "Properties for a managed cluster snapshot." + }, + "ManagedClusterPropertiesForSnapshot": { + "type": "object", + "readOnly": true, + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The current kubernetes version." + }, + "sku": { + "type": "object", + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The current managed cluster sku." + }, + "enableRbac": { + "type": "boolean", + "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not." + }, + "networkProfile": { + "type": "object", + "$ref": "#/definitions/NetworkProfileForSnapshot", + "description": "The current network profile." + } + }, + "description": "managed cluster properties for snapshot, these properties are read only." + }, + "NetworkProfileForSnapshot": { + "type": "object", + "readOnly": true, + "properties": { + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "networkPlugin for managed cluster snapshot." + }, + "networkPluginMode": { + "$ref": "#/definitions/NetworkPluginMode", + "description": "NetworkPluginMode for managed cluster snapshot." + }, + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "networkPolicy for managed cluster snapshot." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "description": "networkMode for managed cluster snapshot." + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "loadBalancerSku for managed cluster snapshot." + } + }, + "description": "network profile for managed cluster snapshot, these properties are read only." + }, + "NetworkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet", + "none" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "value": "none", + "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "NetworkPluginMode": { + "type": "string", + "enum": [ + "overlay" + ], + "x-ms-enum": { + "name": "NetworkPluginMode", + "modelAsString": true, + "values": [ + { + "value": "overlay", + "description": "Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge." + } + ] + }, + "description": "The mode the network plugin should use." + }, + "NetworkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "cilium", + "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "NetworkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "NetworkDataplane": { + "type": "string", + "enum": [ + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "networkDataplane", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use Azure network dataplane." + }, + { + "value": "cilium", + "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." + } + ] + }, + "description": "Network dataplane used in the Kubernetes cluster." + }, + "NetworkMonitoring": { + "type": "object", + "description": "This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable or disable the network monitoring plugin on the cluster" + } + } + }, + "LoadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool", + "ManagedCluster" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + }, + { + "value": "ManagedCluster", + "description": "The snapshot is a snapshot of a managed cluster." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + }, + "CapacityReservationGroupID": { + "description": "Capacity Reservation Group ID for AgentPool to associate", + "type": "string" + }, + "TrustedAccessRoleRule": { + "type": "object", + "description": "Rule for trusted access role", + "properties": { + "verbs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of allowed verbs" + }, + "apiGroups": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of allowed apiGroups" + }, + "resources": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of allowed resources" + }, + "resourceNames": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of allowed names" + }, + "nonResourceURLs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of allowed nonResourceURLs" + } + } + }, + "TrustedAccessRole": { + "type": "object", + "description": "Trusted access role definition.", + "properties": { + "sourceResourceType": { + "type": "string", + "readOnly": true, + "description": "Resource type of Azure resource" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of role, name is unique under a source resource type" + }, + "rules": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TrustedAccessRoleRule" + }, + "x-ms-identifiers": [], + "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole)." + } + } + }, + "TrustedAccessRoleListResult": { + "type": "object", + "description": "List of trusted access roles", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TrustedAccessRole" + }, + "x-ms-identifiers": [ + "sourceResourceType", + "name" + ], + "description": "Role list" + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "TrustedAccessRoleBindingProperties": { + "type": "object", + "description": "Properties for trusted access role binding", + "required": [ + "sourceResourceId", + "roles" + ], + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of trusted access role binding.", + "enum": [ + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "TrustedAccessRoleBindingProvisioningState", + "modelAsString": true + } + }, + "sourceResourceId": { + "type": "string", + "description": "The ARM resource ID of source resource that trusted access is configured for." + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'." + } + } + }, + "TrustedAccessRoleBinding": { + "type": "object", + "description": "Defines binding between a resource and role", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TrustedAccessRoleBindingProperties", + "x-ms-client-flatten": true + } + } + }, + "TrustedAccessRoleBindingListResult": { + "type": "object", + "description": "List of trusted access role bindings", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedAccessRoleBinding" + }, + "description": "Role binding list" + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterWorkloadAutoScalerProfile": { + "type": "object", + "description": "Workload Auto-scaler profile for the managed cluster.", + "properties": { + "keda": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda" + }, + "verticalPodAutoscaler": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" + } + } + }, + "ManagedClusterWorkloadAutoScalerProfileKeda": { + "type": "object", + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable KEDA." + } + }, + "required": [ + "enabled" + ] + }, + "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable VPA. Default value is false.", + "default": false + }, + "controlledValues": { + "type": "string", + "enum": [ + "RequestsAndLimits", + "RequestsOnly" + ], + "x-ms-enum": { + "name": "ControlledValues", + "modelAsString": true, + "values": [ + { + "value": "RequestsAndLimits", + "description": "Autoscaler will control resource requests and limits." + }, + { + "value": "RequestsOnly", + "description": "Autoscaler will control resource requests only." + } + ] + }, + "default": "RequestsAndLimits", + "description": "Controls which resource value autoscaler will change. Default value is RequestsAndLimits." + }, + "updateMode": { + "type": "string", + "enum": [ + "Off", + "Initial", + "Recreate", + "Auto" + ], + "x-ms-enum": { + "name": "UpdateMode", + "modelAsString": true, + "values": [ + { + "value": "Off", + "description": "Autoscaler never changes pod resources but provides recommendations." + }, + { + "value": "Initial", + "description": "Autoscaler only assigns resources on pod creation and doesn't change them during the lifetime of the pod." + }, + { + "value": "Recreate", + "description": "Autoscaler assigns resources on pod creation and updates pods that need further scaling during their lifetime by deleting and recreating." + }, + { + "value": "Auto", + "description": "Autoscaler chooses the update mode. Autoscaler currently does the same as Recreate. In the future, it may take advantage of restart-free mechanisms once they are available." + } + ] + }, + "default": "Off", + "title": "The update mode of the autoscaler.", + "description": "Each update mode level is a superset of the lower levels. Off`. + +``` yaml $(tag) == 'package-2023-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2023_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2023_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-preview-2023-06 and java + +These settings apply only when `--tag=package-preview-2023-06` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2023-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2023_06_02_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2023_06_02_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2023-05 and java diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md index a1489c474b86..3cbd5a80cc9f 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md @@ -34,7 +34,25 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-2023-05 +tag: package-2023-06 +``` + +### Tag: package-2023-06 + +These settings apply only when `--tag=package-2023-06` is specified on the command line. + +```yaml $(tag) == 'package-2023-06' +input-file: + - stable/2023-06-01/managedClusters.json +``` + +### Tag: package-preview-2023-06 + +These settings apply only when `--tag=package-preview-2023-06` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2023-06' +input-file: + - preview/2023-06-02-preview/managedClusters.json ``` ### Tag: package-2023-05 diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md index d314bb278823..f16b8f165a6d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md @@ -16,9 +16,11 @@ no-namespace-folders: true Generate all API versions currently shipped for this package ```yaml $(python) -default-api-version: "2023-05-01" +default-api-version: "2023-06-01" multiapi: true batch: + - tag: package-2023-06 + - tag: package-preview-2023-06 - tag: package-2023-05 - tag: package-preview-2023-05 - tag: package-2023-04 @@ -85,6 +87,27 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/ perform-load: false +clear-output-folder: false +``` + +### Tag: package-2023-06 and python + +These settings apply only when `--tag=package-2023-06 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-06' && $(python) +namespace: azure.mgmt.containerservice.v2023_06_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2023_06_01 +``` + +### Tag: package-preview-2023-06 and python + +These settings apply only when `--tag=package-preview-2023-06 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2023-06' && $(python) +namespace: azure.mgmt.containerservice.v2023_06_02_preview +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2023_06_02_preview ``` ### Tag: package-2023-05 and python diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsAbortOperation.json new file mode 100644 index 000000000000..b8a5e60f3008 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsAbortOperation.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..044644b34049 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..ab0a57c04ca2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..6dea3ea5cf26 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..96dbd570df08 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..d7443d942196 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.13", + "currentOrchestratorVersion": "1.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..d3122965359f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..6bd1da8f3bd3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..412e8bd1b6c0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..4d9d57e1cf81 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..9e309d8b0c0f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.19.6", + "currentOrchestratorVersion": "1.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..151dac03145d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..af0ffdf0e3d4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..0cc7e47da579 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "currentOrchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WindowsOSSKU.json new file mode 100644 index 000000000000..4748f1b74478 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsCreate_WindowsOSSKU.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "wnp2", + "parameters": { + "properties": { + "orchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "osType": "Windows", + "osSKU": "Windows2022" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.23.3", + "currentOrchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "wnp2", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.23.3", + "currentOrchestratorVersion": "1.23.3", + "count": 3, + "vmSize": "Standard_D4s_v3", + "maxPods": 110, + "osType": "Windows", + "osSKU": "Windows2022" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..8d77653b8565 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..bab09bc5fc38 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..ca2444c01971 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..529fab5d2272 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..670f75075041 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..a143484c75b1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Start.json new file mode 100644 index 000000000000..dc55235c728e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..8b3cc71d47f9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..b472647dd4d5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/AgentPools_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..154741095858 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/KubernetesVersions_List.json new file mode 100644 index 000000000000..84e256ac335d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/KubernetesVersions_List.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "values": [ + { + "version": "1.23", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.23.12": { + "upgrades": [ + "1.23.15", + "1.24.6", + "1.24.9" + ] + }, + "1.23.15": { + "upgrades": [ + "1.24.6", + "1.24.9" + ] + } + } + }, + { + "version": "1.24", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.24.6": { + "upgrades": [ + "1.24.9", + "1.25.4", + "1.25.5" + ] + }, + "1.24.9": { + "upgrades": [ + "1.25.4", + "1.25.5" + ] + } + } + }, + { + "version": "1.25", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.25.4": { + "upgrades": [ + "1.25.5", + "1.26.0" + ] + }, + "1.25.5": { + "upgrades": [ + "1.26.0" + ] + } + } + }, + { + "version": "1.26", + "capabilities": { + "supportPlan": [ + "KubernetesOfficial" + ] + }, + "patchVersions": { + "1.26.0": { + "upgrades": [] + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..298000b82b3d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json new file mode 100644 index 000000000000..7cbce61e26da --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedAutoUpgradeSchedule", + "parameters": { + "properties": { + "maintenanceWindow": { + "schedule": { + "relativeMonthly": { + "intervalMonths": 3, + "weekIndex": "First", + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "name": "aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 3, + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "name": "aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 3, + "dayOfWeek": "Monday" + } + }, + "durationHours": 10, + "utcOffset": "+05:30", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..7f14c3546776 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json new file mode 100644 index 000000000000..c2d8240ea44b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedNodeOSUpgradeSchedule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..79cdd936fdad --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json new file mode 100644 index 000000000000..55392f26959d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "aksManagedNodeOSUpgradeSchedule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", + "name": "aksManagedNodeOSUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "daily": { + "intervalDays": 3 + } + }, + "durationHours": 4, + "utcOffset": "-07:00", + "startDate": "2023-01-01", + "startTime": "09:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..c6a63102c965 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json new file mode 100644 index 000000000000..5c85b58e9537 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/MaintenanceConfigurationsList_MaintenanceWindow.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedNodeOSUpgradeSchedule", + "name": "aksManagedNodeOSUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "daily": { + "intervalDays": 5 + } + }, + "durationHours": 10, + "utcOffset": "-07:00", + "startDate": "2023-01-01", + "startTime": "13:30" + } + } + }, + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/aksManagedAutoUpgradeSchedule", + "name": "aksManagedAutoUpgradeSchedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "absoluteMonthly": { + "intervalMonths": 3, + "dayOfMonth": 15 + } + }, + "durationHours": 5, + "utcOffset": "+00:00", + "startDate": "2023-01-01", + "startTime": "08:30", + "notAllowedDates": [ + { + "start": "2023-02-18", + "end": "2023-02-25" + }, + { + "start": "2023-12-23", + "end": "2024-01-05" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersAbortOperation.json new file mode 100644 index 000000000000..0cdfa99dca7d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersAbortOperation.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2023-06-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json new file mode 100644 index 000000000000..15a964b0a1ae --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json @@ -0,0 +1,259 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "addonProfiles": { + "azureKeyvaultSecretsProvider": { + "enabled": true, + "config": { + "enableSecretRotation": "true", + "rotationPollInterval": "2m" + } + } + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..393fa24ecd60 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,249 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..464fc1580dc5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,267 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "KubernetesOfficial" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "KubernetesOfficial" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..0156847c1bdf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,323 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.22.1", + "currentKubernetesVersion": "1.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.22.1", + "currentOrchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.22.1", + "currentKubernetesVersion": "1.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.22.1", + "currentOrchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..5397aad2bfed --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..b9d18ca1e31b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..690e02a78096 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..b3079b7b89c5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,283 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..12010d2d21b9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..80756d2aa0f3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..ad8689f7e914 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..9c4bc6f13eff --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,283 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "AzureLinux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "AzureLinux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..a09a56896b8c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..24c34b881c77 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Premium.json new file mode 100644 index 000000000000..d1f64118ed17 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Premium.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "supportPlan": "AKSLongTermSupport" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "AKSLongTermSupport" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "sku": { + "name": "Base", + "tier": "Premium" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "supportPlan": "AKSLongTermSupport" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..cb369025732e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,266 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..dad071226386 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,270 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "addonProfiles": {}, + "enableRBAC": true, + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..681863c17917 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "securityProfile": { + "defender": { + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME", + "securityMonitoring": { + "enabled": true + } + }, + "workloadIdentity": { + "enabled": true + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..c6c4f5cdec0c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..049ec79822f2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,305 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..11f4c7cbe7f4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,301 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..bd09fd1a16c2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,295 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..47b9a2349277 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,284 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..fb6491cb4e7e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..d675ee857f8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..81bae5e26403 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGet.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..3614ad25173a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "a3ViZUNvbmZpZzE=" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..f0a6c634fa33 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..5a7d0927059d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersList.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..4cd908957517 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "currentKubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterAdminCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterAdminCredentials.json new file mode 100644 index 000000000000..8cb5062fd5f6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterAdminCredentials.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json new file mode 100644 index 000000000000..8cb5062fd5f6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterMonitoringUserCredentials.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterUserCredentials.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterUserCredentials.json new file mode 100644 index 000000000000..8cb5062fd5f6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersListClusterUserCredentials.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "Y3JlZGVudGlhbFZhbHVlMQ==" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..0af8433551c6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..9975fe0460e3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..d675ee857f8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json new file mode 100644 index 000000000000..d675ee857f8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersRotateServiceAccountSigningKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..d675ee857f8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..d675ee857f8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersStop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31" + } + }, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..983ce35f1827 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "currentOrchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/Operation_List.json new file mode 100644 index 000000000000..05b77fba4f4a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2023-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..1ab8482ddb6b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..d2e2fb299841 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..8031856e2315 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..94fd917a9f1a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..29b417f57f4a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1", + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..dd341f82da33 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..9382e68ead31 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandRequest.json new file mode 100644 index 000000000000..4b5650e58258 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-01" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..4498ec3f9c59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..7e7a5ab02cd4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2023-06-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..ed42020bd329 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..216154957a72 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsGet.json new file mode 100644 index 000000000000..f35c99b1cda4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsList.json new file mode 100644 index 000000000000..e39a5f82f1d6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..055a315f53c8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..8baf72a2b3a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/managedClusters.json new file mode 100644 index 000000000000..559f49750d63 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-06-01/managedClusters.json @@ -0,0 +1,6434 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2023-06-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.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of operations.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "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/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListKubernetesVersions", + "summary": "Gets a list of supported Kubernetes versions in the specified subscription.", + "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version", + "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/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubernetesVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Kubernetes Versions": { + "$ref": "./examples/KubernetesVersions_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and 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": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets the upgrade profile of a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Lists the admin credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterAdminCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Lists the user credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterUserCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Lists the cluster monitoring user credentials of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterMonitoringUserCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "responses": { + "200": { + "description": "The existing managed cluster was successfully updated.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "The new managed cluster was successfully created.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with LongTermSupport": { + "$ref": "./examples/ManagedClustersCreate_Premium.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with Azure KeyVault Secrets Provider Addon": { + "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + }, + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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 Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + }, + "List maintenance configurations configured with maintenance window by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + }, + "Get Maintenance Configuration Configured With Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "The existing maintenance configuration was successfully updated.", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "201": { + "description": "The new maintenance configuration was successfully created.", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + }, + "Create/Update Maintenance Configuration with Maintenance Window": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "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/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "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": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.json" + }, + "Delete Maintenance Configuration For Node OS Upgrade": { + "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_AbortLatestOperation", + "summary": "Aborts last operation running on agent pool.", + "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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": { + "Abort operation on agent pool": { + "$ref": "./examples/AgentPoolsAbortOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the specified managed cluster agent pool.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The agent pool to create or update." + } + ], + "responses": { + "200": { + "description": "The existing agent pool was successfully updated.", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "The new agent pool was successfully created.", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with Windows OSSKU": { + "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool in the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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 Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets the upgrade profile for an agent pool.", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "summary": "Reset the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the managed cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset the AAD Profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "The AAD profile to set on the Managed Cluster" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "summary": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_AbortLatestOperation", + "summary": "Aborts last operation running on managed cluster.", + "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, a 409 error code is returned.", + "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/ResourceNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "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": { + "Abort operation on managed cluster": { + "$ref": "./examples/ManagedClustersAbortOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateServiceAccountSigningKeys", + "summary": "Rotates the service account signing keys of a managed cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Rotate Cluster Service Account Signing Keys": { + "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", + "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/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The new private endpoint connection was successfully created.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "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/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]{0,11}$", + "minLength": 1, + "maxLength": 12, + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "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/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "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/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and 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": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "The existing snapshot was successfully updated.", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "The new snapshot was successfully created.", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "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/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "x-ms-identifiers": [], + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "type": "object", + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Operation Value Display." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "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" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ManagedClusterServicePrincipalProfile": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ManagedClusterAgentPoolProfileProperties": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "vnetSubnetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + }, + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + }, + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes specified by the user.", + "description": "Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "currentOrchestratorVersion": { + "readOnly": true, + "type": "string", + "title": "The version of Kubernetes the Agent Pool is running.", + "description": "If orchestratorVersion is a fully specified version , this field will be exactly equal to it. If orchestratorVersion is , this field will contain the full version being used." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPPrefixes" + } + ] + }, + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + }, + "hostGroupID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/hostGroups" + } + ] + }, + "title": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ], + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + }, + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "AgentPoolListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + }, + "drainTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 1440, + "minimum": 1, + "title": "The drain timeout for a node", + "description": "The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes." + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + }, + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

**Restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length:** 1 character

**Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

**Minimum-length:** 8 characters

**Max-length:** 123 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "type": "object", + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet", + "none" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "value": "none", + "description": "No CNI plugin is pre-installed. See [BYO CNI](https://docs.microsoft.com/en-us/azure/aks/use-byo-cni) for more information." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPluginMode": { + "type": "string", + "enum": [ + "overlay" + ], + "x-ms-enum": { + "name": "NetworkPluginMode", + "modelAsString": true, + "values": [ + { + "value": "overlay", + "description": "Used with networkPlugin=azure, pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet's method of route tables. For more information visit https://aka.ms/aks/azure-cni-overlay." + } + ] + }, + "description": "The mode the network plugin should use." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "cilium", + "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "networkDataplane": { + "type": "string", + "enum": [ + "azure", + "cilium" + ], + "x-ms-enum": { + "name": "networkDataplane", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use Azure network dataplane." + }, + { + "value": "cilium", + "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information." + } + ] + }, + "description": "Network dataplane used in the Kubernetes cluster." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "MaintenanceConfiguration": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "type": "object", + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "x-ms-identifiers": [], + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "x-ms-identifiers": [], + "description": "Time slots on which upgrade is not allowed." + }, + "maintenanceWindow": { + "type": "object", + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window for the maintenance configuration." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Recurrence schedule for the maintenance window." + }, + "durationHours": { + "type": "integer", + "format": "int32", + "minimum": 4, + "maximum": 24, + "default": 24, + "description": "Length of maintenance window range from 4 to 24 hours." + }, + "utcOffset": { + "type": "string", + "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$", + "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away." + }, + "startTime": { + "type": "string", + "pattern": "^\\d{2}:\\d{2}$", + "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'." + }, + "notAllowedDates": { + "type": "array", + "items": { + "$ref": "#/definitions/DateSpan" + }, + "x-ms-identifiers": [], + "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time." + } + }, + "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.", + "required": [ + "schedule", + "durationHours", + "startTime" + ] + }, + "Schedule": { + "type": "object", + "properties": { + "daily": { + "$ref": "#/definitions/DailySchedule" + }, + "weekly": { + "$ref": "#/definitions/WeeklySchedule" + }, + "absoluteMonthly": { + "$ref": "#/definitions/AbsoluteMonthlySchedule" + }, + "relativeMonthly": { + "$ref": "#/definitions/RelativeMonthlySchedule" + } + }, + "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule." + }, + "DailySchedule": { + "type": "object", + "properties": { + "intervalDays": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 7, + "description": "Specifies the number of days between each set of occurrences." + } + }, + "description": "For schedules like: 'recur every day' or 'recur every 3 days'.", + "required": [ + "intervalDays" + ] + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "intervalWeeks": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 4, + "description": "Specifies the number of weeks between each set of occurrences." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." + } + }, + "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.", + "required": [ + "intervalWeeks", + "dayOfWeek" + ] + }, + "AbsoluteMonthlySchedule": { + "type": "object", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 6, + "description": "Specifies the number of months between each set of occurrences." + }, + "dayOfMonth": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 31, + "description": "The date of the month." + } + }, + "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.", + "required": [ + "intervalMonths", + "dayOfMonth" + ] + }, + "RelativeMonthlySchedule": { + "type": "object", + "properties": { + "intervalMonths": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 6, + "description": "Specifies the number of months between each set of occurrences." + }, + "weekIndex": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "value": "First", + "description": "First week of the month." + }, + { + "value": "Second", + "description": "Second week of the month." + }, + { + "value": "Third", + "description": "Third week of the month." + }, + { + "value": "Fourth", + "description": "Fourth week of the month." + }, + { + "value": "Last", + "description": "Last week of the month." + } + ] + }, + "title": "The week index.", + "description": "Specifies on which week of the month the dayOfWeek applies." + }, + "dayOfWeek": { + "$ref": "#/definitions/WeekDay", + "description": "Specifies on which day of the week the maintenance occurs." + } + }, + "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.", + "required": [ + "intervalMonths", + "weekIndex", + "dayOfWeek" + ] + }, + "DateSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date", + "description": "The start date of the date span." + }, + "end": { + "type": "string", + "format": "date", + "description": "The end date of the date span." + } + }, + "title": "A date range.", + "description": "For example, between '2022-12-23' and '2023-01-05'.", + "required": [ + "start", + "end" + ] + }, + "TimeInWeek": { + "type": "object", + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "type": "object", + "properties": { + "managedOutboundIPs": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "type": "object", + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "type": "object", + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "x-ms-identifiers": [], + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ManagedClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes specified by the user.", + "description": "Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "currentKubernetesVersion": { + "readOnly": true, + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is running.", + "description": "If kubernetesVersion was a fully specified version , this field will be exactly equal to it. If kubernetesVersion was , this field will contain the full version being used." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "x-ms-identifiers": [], + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "supportPlan": { + "$ref": "#/definitions/KubernetesSupportPlan", + "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/diskEncryptionSets" + } + ] + }, + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "storageProfile": { + "$ref": "#/definitions/ManagedClusterStorageProfile", + "description": "Storage profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + }, + "workloadAutoScalerProfile": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile" + }, + "azureMonitorProfile": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfile" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "type": "object", + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "type": "object", + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "delegatedResources": { + "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources", + "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The resource ID of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + }, + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "type": "object", + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "x-ms-identifiers": [], + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAutoUpgradeProfile": { + "type": "object", + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching" + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + }, + "nodeOSUpgradeChannel": { + "type": "string", + "enum": [ + "Unmanaged", + "None", + "NodeImage" + ], + "x-ms-enum": { + "name": "nodeOSUpgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates" + }, + { + "value": "Unmanaged", + "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice" + }, + { + "value": "NodeImage", + "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images." + } + ] + }, + "title": "Node OS Upgrade Channel", + "description": "Manner in which the OS on your nodes is updated. The default is NodeImage." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "type": "object", + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + }, + "serverAppID": { + "type": "string", + "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy." + }, + "serverAppSecret": { + "type": "string", + "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy." + }, + "tenantID": { + "type": "string", + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "ManagedClusterAddonProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterPodIdentity": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Canceled", + "Deleting", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "type": "object", + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "x-ms-identifiers": [], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + }, + "x-ms-identifiers": [] + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + }, + "x-ms-identifiers": [] + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterOIDCIssuerProfile": { + "type": "object", + "properties": { + "issuerURL": { + "readOnly": true, + "type": "string", + "description": "The OIDC issuer url of the Managed Cluster." + }, + "enabled": { + "type": "boolean", + "description": "Whether the OIDC issuer is enabled." + } + }, + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "ManagedClusterUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "type": "object", + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "x-ms-identifiers": [], + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner", + "AzureLinux", + "Windows2019", + "Windows2022" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true, + "values": [ + { + "value": "Ubuntu", + "description": "Use Ubuntu as the OS for node images." + }, + { + "value": "AzureLinux", + "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information." + }, + { + "value": "CBLMariner", + "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead." + }, + { + "value": "Windows2019", + "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa." + }, + { + "value": "Windows2022", + "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa." + } + ] + }, + "description": "Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Compute/proximityPlacementGroups" + } + ] + }, + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "type": "object", + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "x-ms-identifiers": [], + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "type": "object", + "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" + }, + "x-ms-identifiers": [], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Base" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true, + "values": [ + { + "value": "Base", + "description": "Base option for the AKS control plane." + } + ] + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.", + "enum": [ + "Standard", + "Free", + "Premium" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Premium", + "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions." + }, + { + "value": "Standard", + "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Canceled", + "Creating", + "Deleting", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "type": "object", + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "type": "object", + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "x-ms-identifiers": [], + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes 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" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "defender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefender", + "description": "Microsoft Defender settings for the security profile." + }, + "azureKeyVaultKms": { + "$ref": "#/definitions/AzureKeyVaultKms", + "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile." + }, + "workloadIdentity": { + "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity", + "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details." + }, + "imageCleaner": { + "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner", + "description": "Image Cleaner settings for the security profile." + } + }, + "description": "Security profile for the container service cluster." + }, + "AzureKeyVaultKms": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Key Vault key management service. The default is false." + }, + "keyId": { + "type": "string", + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." + }, + "keyVaultNetworkAccess": { + "type": "string", + "enum": [ + "Public", + "Private" + ], + "default": "Public", + "x-ms-enum": { + "name": "KeyVaultNetworkAccessTypes", + "modelAsString": true + }, + "title": "Network access of the key vault", + "description": "Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`." + }, + "keyVaultResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.KeyVault/vaults" + } + ] + }, + "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty." + } + }, + "description": "Azure Key Vault key management service settings for the security profile." + }, + "ManagedClusterSecurityProfileWorkloadIdentity": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable workload identity." + } + }, + "description": "Workload identity settings for the security profile." + }, + "ManagedClusterSecurityProfileImageCleaner": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Image Cleaner on AKS cluster." + }, + "intervalHours": { + "type": "integer", + "format": "int32", + "description": "Image Cleaner scanning interval in hours." + } + }, + "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile." + }, + "ManagedClusterStorageProfile": { + "type": "object", + "properties": { + "diskCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver", + "description": "AzureDisk CSI Driver settings for the storage profile." + }, + "fileCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver", + "description": "AzureFile CSI Driver settings for the storage profile." + }, + "snapshotController": { + "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController", + "description": "Snapshot Controller settings for the storage profile." + }, + "blobCSIDriver": { + "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver", + "description": "AzureBlob CSI Driver settings for the storage profile." + } + }, + "description": "Storage profile for the container service cluster." + }, + "ManagedClusterSecurityProfileDefender": { + "type": "object", + "properties": { + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.OperationalInsights/workspaces" + } + ] + }, + "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty." + }, + "securityMonitoring": { + "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring", + "description": "Microsoft Defender threat detection for Cloud settings for the security profile." + } + }, + "description": "Microsoft Defender settings for the security profile." + }, + "ManagedClusterSecurityProfileDefenderSecurityMonitoring": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Defender threat detection" + } + }, + "description": "Microsoft Defender settings for the security profile threat detection." + }, + "ManagedClusterStorageProfileDiskCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureDisk CSI Driver. The default value is true." + } + }, + "description": "AzureDisk CSI Driver settings for the storage profile." + }, + "ManagedClusterStorageProfileFileCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureFile CSI Driver. The default value is true." + } + }, + "description": "AzureFile CSI Driver settings for the storage profile." + }, + "ManagedClusterStorageProfileSnapshotController": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Snapshot Controller. The default value is true." + } + }, + "description": "Snapshot Controller settings for the storage profile." + }, + "ManagedClusterStorageProfileBlobCSIDriver": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable AzureBlob CSI Driver. The default value is false." + } + }, + "description": "AzureBlob CSI Driver settings for the storage profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "format": "arm-id", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + }, + "ManagedClusterWorkloadAutoScalerProfile": { + "type": "object", + "description": "Workload Auto-scaler profile for the managed cluster.", + "properties": { + "keda": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda" + }, + "verticalPodAutoscaler": { + "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler" + } + } + }, + "ManagedClusterWorkloadAutoScalerProfileKeda": { + "type": "object", + "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable KEDA." + } + }, + "required": [ + "enabled" + ] + }, + "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": { + "type": "object", + "description": "VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable VPA. Default value is false.", + "default": false + } + }, + "required": [ + "enabled" + ] + }, + "ManagedClusterAzureMonitorProfile": { + "type": "object", + "description": "Azure Monitor addon profiles for monitoring the managed cluster.", + "properties": { + "metrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics" + } + } + }, + "ManagedClusterAzureMonitorProfileKubeStateMetrics": { + "type": "object", + "description": "Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for details.", + "properties": { + "metricLabelsAllowlist": { + "type": "string", + "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels." + }, + "metricAnnotationsAllowList": { + "type": "string", + "description": "Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels." + } + } + }, + "ManagedClusterAzureMonitorProfileMetrics": { + "type": "object", + "description": "Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling." + }, + "kubeStateMetrics": { + "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics" + } + }, + "required": [ + "enabled" + ] + }, + "KubernetesSupportPlan": { + "type": "string", + "description": "Different support tiers for AKS managed clusters", + "enum": [ + "KubernetesOfficial", + "AKSLongTermSupport" + ], + "x-ms-enum": { + "name": "KubernetesSupportPlan", + "modelAsString": true, + "values": [ + { + "value": "KubernetesOfficial", + "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release." + }, + { + "value": "AKSLongTermSupport", + "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support." + } + ] + } + }, + "KubernetesVersionCapabilities": { + "type": "object", + "description": "Capabilities on this Kubernetes version.", + "properties": { + "supportPlan": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/KubernetesSupportPlan" + } + } + } + }, + "KubernetesPatchVersion": { + "type": "object", + "description": "Kubernetes patch version profile", + "properties": { + "upgrades": { + "type": "array", + "description": "Possible upgrade path for given patch version", + "x-ms-identifiers": [], + "items": { + "type": "string" + } + } + } + }, + "KubernetesVersion": { + "type": "object", + "description": "Kubernetes version profile for given major.minor release.", + "properties": { + "version": { + "type": "string", + "description": "major.minor version of Kubernetes release" + }, + "capabilities": { + "$ref": "#/definitions/KubernetesVersionCapabilities", + "description": "Capabilities on this Kubernetes version." + }, + "isPreview": { + "type": "boolean", + "description": "Whether this version is in preview mode." + }, + "patchVersions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KubernetesPatchVersion" + }, + "description": "Patch versions of Kubernetes release" + } + } + }, + "KubernetesVersionListResult": { + "type": "object", + "description": "Hold values properties, which is array of KubernetesVersion", + "properties": { + "values": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/KubernetesVersion" + }, + "description": "Array of AKS supported Kubernetes versions." + } + } + } + }, + "parameters": { + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "The name of the managed cluster resource.", + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" + }, + "CredentialFormatParameter": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "exec", + "azure" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26." + }, + { + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + }, + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2022-09-02-preview/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2022-09-02-preview/fleets.json index c3bc21e4e854..0c8228d8dd2e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2022-09-02-preview/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2022-09-02-preview/fleets.json @@ -52,10 +52,10 @@ "paths": { "/providers/Microsoft.ContainerService/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], - "operationId": "Operations_List", "description": "List the operations for the provider", "parameters": [ { @@ -76,22 +76,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "List the available operations.": { "$ref": "./examples/Operation_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/fleets": { "get": { + "operationId": "Fleets_ListBySubscription", "tags": [ "Fleets" ], - "operationId": "Fleets_ListBySubscription", "description": "Lists fleets in the specified subscription.", "parameters": [ { @@ -115,22 +115,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the Fleet resources in a subscription.": { "$ref": "./examples/Fleets_ListBySub.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets": { "get": { + "operationId": "Fleets_ListByResourceGroup", "tags": [ "Fleets" ], - "operationId": "Fleets_ListByResourceGroup", "description": "Lists fleets in the specified subscription and resource group.", "parameters": [ { @@ -157,22 +157,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the Fleet resources in a resource group.": { "$ref": "./examples/Fleets_ListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}": { "get": { + "operationId": "Fleets_Get", "tags": [ "Fleets" ], - "operationId": "Fleets_Get", "description": "Gets a Fleet.", "parameters": [ { @@ -187,12 +187,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -216,10 +216,10 @@ } }, "put": { + "operationId": "Fleets_CreateOrUpdate", "tags": [ "Fleets" ], - "operationId": "Fleets_CreateOrUpdate", "description": "Creates or updates a Fleet.", "parameters": [ { @@ -234,34 +234,34 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "required": false, "description": "The request should only proceed if no entity matches this string.", - "x-ms-client-name": "ifNoneMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Fleet" } @@ -276,15 +276,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Fleet" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Fleet" } }, "default": { @@ -305,10 +305,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "Fleets_Update", "tags": [ "Fleets" ], - "operationId": "Fleets_Update", "description": "Update a Fleet", "parameters": [ { @@ -323,26 +323,26 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/FleetPatch" } @@ -369,10 +369,10 @@ } }, "delete": { + "operationId": "Fleets_Delete", "tags": [ "Fleets" ], - "operationId": "Fleets_Delete", "description": "Delete a Fleet", "parameters": [ { @@ -387,20 +387,20 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -411,13 +411,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -444,10 +444,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/listCredentials": { "post": { + "operationId": "Fleets_ListCredentials", "tags": [ "Fleets" ], - "operationId": "Fleets_ListCredentials", "description": "Lists the user credentials of a Fleet.", "parameters": [ { @@ -462,12 +462,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -493,10 +493,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members": { "get": { + "operationId": "FleetMembers_ListByFleet", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_ListByFleet", "description": "List FleetMember resources by Fleet", "parameters": [ { @@ -511,12 +511,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -533,22 +533,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the members of a Fleet.": { "$ref": "./examples/FleetMembers_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName}": { "get": { + "operationId": "FleetMembers_Get", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Get", "description": "Get a FleetMember", "parameters": [ { @@ -563,22 +563,22 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -602,10 +602,10 @@ } }, "put": { + "operationId": "FleetMembers_Create", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Create", "description": "Create a FleetMember", "parameters": [ { @@ -620,44 +620,44 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "required": false, "description": "The request should only proceed if no entity matches this string.", - "x-ms-client-name": "ifNoneMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/FleetMember" } @@ -672,15 +672,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/FleetMember" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/FleetMember" } }, "default": { @@ -701,10 +701,10 @@ "x-ms-long-running-operation": true }, "delete": { + "operationId": "FleetMembers_Delete", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Delete", "description": "Delete a FleetMember", "parameters": [ { @@ -719,30 +719,30 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -753,13 +753,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -788,8 +788,8 @@ "definitions": { "ClusterResourceId": { "type": "string", - "description": "A type definition that refers the id to an ARM resource.", "format": "arm-id", + "description": "A type definition that refers the id to an ARM resource.", "x-ms-arm-id-details": { "allowedResources": [ { @@ -800,6 +800,7 @@ }, "Fleet": { "type": "object", + "description": "The Fleet resource.", "properties": { "properties": { "$ref": "#/definitions/FleetProperties", @@ -816,7 +817,6 @@ "readOnly": true } }, - "description": "The Fleet resource.", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -825,6 +825,7 @@ }, "FleetCredentialResult": { "type": "object", + "description": "One credential result item.", "properties": { "name": { "type": "string", @@ -837,36 +838,35 @@ "description": "Base64-encoded Kubernetes configuration file.", "readOnly": true } - }, - "description": "One credential result item." + } }, "FleetCredentialResults": { "type": "object", + "description": "The Credential results response.", "properties": { "kubeconfigs": { "type": "array", + "description": "Array of base64-encoded Kubernetes configuration files.", "items": { "$ref": "#/definitions/FleetCredentialResult" }, + "readOnly": true, "x-ms-identifiers": [ "name" - ], - "description": "Array of base64-encoded Kubernetes configuration files.", - "x-typespec-name": "FleetCredentialResult[]", - "readOnly": true + ] } - }, - "description": "The Credential results response." + } }, "FleetHubProfile": { "type": "object", + "description": "The FleetHubProfile configures the fleet hub.", "properties": { "dnsPrefix": { "type": "string", "description": "DNS prefix used to create the FQDN for the Fleet hub.", - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$", "minLength": 1, "maxLength": 54, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$", "x-ms-mutability": [ "read", "create" @@ -882,34 +882,32 @@ "description": "The Kubernetes version of the Fleet hub.", "readOnly": true } - }, - "description": "The FleetHubProfile configures the fleet hub." + } }, "FleetListResult": { "type": "object", + "description": "The response of a Fleet list operation.", "properties": { "value": { "type": "array", + "description": "The Fleet items on this page", "items": { "$ref": "#/definitions/Fleet" - }, - "description": "The Fleet items on this page", - "x-typespec-name": "Fleet[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Fleet list operation.", "required": [ "value" ] }, "FleetMember": { "type": "object", + "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "properties": { "properties": { "$ref": "#/definitions/FleetMemberProperties", @@ -926,7 +924,6 @@ "readOnly": true } }, - "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -935,29 +932,28 @@ }, "FleetMemberListResult": { "type": "object", + "description": "The response of a FleetMember list operation.", "properties": { "value": { "type": "array", + "description": "The FleetMember items on this page", "items": { "$ref": "#/definitions/FleetMember" - }, - "description": "The FleetMember items on this page", - "x-typespec-name": "FleetMember[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a FleetMember list operation.", "required": [ "value" ] }, "FleetMemberProperties": { "type": "object", + "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "properties": { "clusterResourceId": { "$ref": "#/definitions/ClusterResourceId", @@ -973,7 +969,6 @@ "readOnly": true } }, - "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "required": [ "clusterResourceId" ] @@ -1025,20 +1020,20 @@ }, "FleetPatch": { "type": "object", + "description": "Properties of a Fleet that can be patched.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } } - }, - "description": "Properties of a Fleet that can be patched." + } }, "FleetProperties": { "type": "object", + "description": "Fleet properties.", "properties": { "provisioningState": { "$ref": "#/definitions/FleetProvisioningState", @@ -1049,8 +1044,7 @@ "$ref": "#/definitions/FleetHubProfile", "description": "The FleetHubProfile configures the Fleet's hub." } - }, - "description": "Fleet properties." + } }, "FleetProvisioningState": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json index 68413576709a..415fdbc2001e 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json @@ -55,10 +55,10 @@ "paths": { "/providers/Microsoft.ContainerService/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], - "operationId": "Operations_List", "description": "List the operations for the provider", "parameters": [ { @@ -79,22 +79,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "List the operations for the provider.": { "$ref": "./examples/Operations_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/fleets": { "get": { + "operationId": "Fleets_ListBySubscription", "tags": [ "Fleets" ], - "operationId": "Fleets_ListBySubscription", "description": "Lists fleets in the specified subscription.", "parameters": [ { @@ -118,22 +118,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the Fleet resources in a subscription.": { "$ref": "./examples/Fleets_ListBySub.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets": { "get": { + "operationId": "Fleets_ListByResourceGroup", "tags": [ "Fleets" ], - "operationId": "Fleets_ListByResourceGroup", "description": "Lists fleets in the specified subscription and resource group.", "parameters": [ { @@ -160,22 +160,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the Fleet resources in a resource group.": { "$ref": "./examples/Fleets_ListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}": { "get": { + "operationId": "Fleets_Get", "tags": [ "Fleets" ], - "operationId": "Fleets_Get", "description": "Gets a Fleet.", "parameters": [ { @@ -190,12 +190,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -219,10 +219,10 @@ } }, "put": { + "operationId": "Fleets_CreateOrUpdate", "tags": [ "Fleets" ], - "operationId": "Fleets_CreateOrUpdate", "description": "Creates or updates a Fleet.", "parameters": [ { @@ -237,34 +237,34 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "required": false, "description": "The request should only proceed if no entity matches this string.", - "x-ms-client-name": "ifNoneMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Fleet" } @@ -279,15 +279,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Fleet" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Fleet" } }, "default": { @@ -308,10 +308,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "Fleets_Update", "tags": [ "Fleets" ], - "operationId": "Fleets_Update", "description": "Update a Fleet", "parameters": [ { @@ -326,26 +326,26 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/FleetPatch" } @@ -372,10 +372,10 @@ } }, "delete": { + "operationId": "Fleets_Delete", "tags": [ "Fleets" ], - "operationId": "Fleets_Delete", "description": "Delete a Fleet", "parameters": [ { @@ -390,20 +390,20 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -414,13 +414,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -447,10 +447,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/listCredentials": { "post": { + "operationId": "Fleets_ListCredentials", "tags": [ "Fleets" ], - "operationId": "Fleets_ListCredentials", "description": "Lists the user credentials of a Fleet.", "parameters": [ { @@ -465,12 +465,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -496,10 +496,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members": { "get": { + "operationId": "FleetMembers_ListByFleet", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_ListByFleet", "description": "List FleetMember resources by Fleet", "parameters": [ { @@ -514,12 +514,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -536,22 +536,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the members of a Fleet.": { "$ref": "./examples/FleetMembers_ListByFleet.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName}": { "get": { + "operationId": "FleetMembers_Get", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Get", "description": "Get a FleetMember", "parameters": [ { @@ -566,22 +566,22 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -605,10 +605,10 @@ } }, "put": { + "operationId": "FleetMembers_Create", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Create", "description": "Create a FleetMember", "parameters": [ { @@ -623,44 +623,44 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "required": false, "description": "The request should only proceed if no entity matches this string.", - "x-ms-client-name": "ifNoneMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/FleetMember" } @@ -675,15 +675,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/FleetMember" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/FleetMember" } }, "default": { @@ -704,10 +704,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "FleetMembers_Update", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Update", "description": "Update a FleetMember", "parameters": [ { @@ -722,36 +722,36 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/FleetMemberUpdate" } @@ -778,10 +778,10 @@ } }, "delete": { + "operationId": "FleetMembers_Delete", "tags": [ "FleetMembers" ], - "operationId": "FleetMembers_Delete", "description": "Delete a FleetMember", "parameters": [ { @@ -796,30 +796,30 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "fleetMemberName", "in": "path", - "required": true, "description": "The name of the Fleet member resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -830,13 +830,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -863,10 +863,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns": { "get": { + "operationId": "UpdateRuns_ListByFleet", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_ListByFleet", "description": "List UpdateRun resources by Fleet", "parameters": [ { @@ -881,12 +881,12 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -903,22 +903,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Lists the UpdateRun resources by fleet.": { "$ref": "./examples/UpdateRuns_ListByFleet.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName}": { "get": { + "operationId": "UpdateRuns_Get", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_Get", "description": "Get a UpdateRun", "parameters": [ { @@ -933,22 +933,22 @@ { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "updateRunName", "in": "path", - "required": true, "description": "The name of the UpdateRun resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -972,10 +972,10 @@ } }, "put": { + "operationId": "UpdateRuns_CreateOrUpdate", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_CreateOrUpdate", "description": "Create a UpdateRun", "parameters": [ { @@ -990,44 +990,44 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "required": false, "description": "The request should only proceed if no entity matches this string.", - "x-ms-client-name": "ifNoneMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "updateRunName", "in": "path", - "required": true, "description": "The name of the UpdateRun resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/UpdateRun" } @@ -1042,15 +1042,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpdateRun" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/UpdateRun" } }, "default": { @@ -1071,10 +1071,10 @@ "x-ms-long-running-operation": true }, "delete": { + "operationId": "UpdateRuns_Delete", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_Delete", "description": "Delete a UpdateRun", "parameters": [ { @@ -1089,30 +1089,30 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "updateRunName", "in": "path", - "required": true, "description": "The name of the UpdateRun resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -1123,13 +1123,13 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -1156,10 +1156,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName}/start": { "post": { + "operationId": "UpdateRuns_Start", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_Start", "description": "Starts an UpdateRun.", "parameters": [ { @@ -1174,30 +1174,30 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "updateRunName", "in": "path", - "required": true, "description": "The name of the UpdateRun resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -1211,13 +1211,13 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -1241,10 +1241,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName}/stop": { "post": { + "operationId": "UpdateRuns_Stop", "tags": [ "UpdateRuns" ], - "operationId": "UpdateRuns_Stop", "description": "Stops an UpdateRun.", "parameters": [ { @@ -1259,30 +1259,30 @@ { "name": "If-Match", "in": "header", - "required": false, "description": "The request should only proceed if an entity matches this string.", - "x-ms-client-name": "ifMatch", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "fleetName", "in": "path", - "required": true, "description": "The name of the Fleet resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 63 + "maxLength": 63, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, { "name": "updateRunName", "in": "path", - "required": true, "description": "The name of the UpdateRun resource.", + "required": true, "type": "string", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } ], "responses": { @@ -1296,13 +1296,13 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -1328,8 +1328,8 @@ "definitions": { "ClusterResourceId": { "type": "string", - "description": "A type definition that refers the id to an ARM resource.", "format": "arm-id", + "description": "A type definition that refers the id to an ARM resource.", "x-ms-arm-id-details": { "allowedResources": [ { @@ -1340,6 +1340,7 @@ }, "Fleet": { "type": "object", + "description": "The Fleet resource.", "properties": { "properties": { "$ref": "#/definitions/FleetProperties", @@ -1356,7 +1357,6 @@ "readOnly": true } }, - "description": "The Fleet resource.", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -1365,6 +1365,7 @@ }, "FleetCredentialResult": { "type": "object", + "description": "One credential result item.", "properties": { "name": { "type": "string", @@ -1377,36 +1378,35 @@ "description": "Base64-encoded Kubernetes configuration file.", "readOnly": true } - }, - "description": "One credential result item." + } }, "FleetCredentialResults": { "type": "object", + "description": "The Credential results response.", "properties": { "kubeconfigs": { "type": "array", + "description": "Array of base64-encoded Kubernetes configuration files.", "items": { "$ref": "#/definitions/FleetCredentialResult" }, + "readOnly": true, "x-ms-identifiers": [ "name" - ], - "description": "Array of base64-encoded Kubernetes configuration files.", - "x-typespec-name": "FleetCredentialResult[]", - "readOnly": true + ] } - }, - "description": "The Credential results response." + } }, "FleetHubProfile": { "type": "object", + "description": "The FleetHubProfile configures the fleet hub.", "properties": { "dnsPrefix": { "type": "string", "description": "DNS prefix used to create the FQDN for the Fleet hub.", - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$", "minLength": 1, "maxLength": 54, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$", "x-ms-mutability": [ "read", "create" @@ -1422,34 +1422,32 @@ "description": "The Kubernetes version of the Fleet hub.", "readOnly": true } - }, - "description": "The FleetHubProfile configures the fleet hub." + } }, "FleetListResult": { "type": "object", + "description": "The response of a Fleet list operation.", "properties": { "value": { "type": "array", + "description": "The Fleet items on this page", "items": { "$ref": "#/definitions/Fleet" - }, - "description": "The Fleet items on this page", - "x-typespec-name": "Fleet[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Fleet list operation.", "required": [ "value" ] }, "FleetMember": { "type": "object", + "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "properties": { "properties": { "$ref": "#/definitions/FleetMemberProperties", @@ -1466,7 +1464,6 @@ "readOnly": true } }, - "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -1475,29 +1472,28 @@ }, "FleetMemberListResult": { "type": "object", + "description": "The response of a FleetMember list operation.", "properties": { "value": { "type": "array", + "description": "The FleetMember items on this page", "items": { "$ref": "#/definitions/FleetMember" - }, - "description": "The FleetMember items on this page", - "x-typespec-name": "FleetMember[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a FleetMember list operation.", "required": [ "value" ] }, "FleetMemberProperties": { "type": "object", + "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "properties": { "clusterResourceId": { "$ref": "#/definitions/ClusterResourceId", @@ -1510,9 +1506,9 @@ "group": { "type": "string", "description": "The group this member belongs to for multi-cluster update management.", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "provisioningState": { "$ref": "#/definitions/FleetMemberProvisioningState", @@ -1520,7 +1516,6 @@ "readOnly": true } }, - "description": "A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.", "required": [ "clusterResourceId" ] @@ -1572,43 +1567,43 @@ }, "FleetMemberUpdate": { "type": "object", + "description": "The type used for update operations of the FleetMember.", "properties": { "properties": { "$ref": "#/definitions/FleetMemberUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the FleetMember." + } }, "FleetMemberUpdateProperties": { "type": "object", + "description": "The updatable properties of the FleetMember.", "properties": { "group": { "type": "string", "description": "The group this member belongs to for multi-cluster update management.", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } - }, - "description": "The updatable properties of the FleetMember." + } }, "FleetPatch": { "type": "object", + "description": "Properties of a Fleet that can be patched.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } } - }, - "description": "Properties of a Fleet that can be patched." + } }, "FleetProperties": { "type": "object", + "description": "Fleet properties.", "properties": { "provisioningState": { "$ref": "#/definitions/FleetProvisioningState", @@ -1619,8 +1614,7 @@ "$ref": "#/definitions/FleetHubProfile", "description": "The FleetHubProfile configures the Fleet's hub." } - }, - "description": "Fleet properties." + } }, "FleetProvisioningState": { "type": "string", @@ -1672,19 +1666,20 @@ }, "ManagedClusterUpdate": { "type": "object", + "description": "The update to be applied to the ManagedClusters.", "properties": { "upgrade": { "$ref": "#/definitions/ManagedClusterUpgradeSpec", "description": "The upgrade to apply to the ManagedClusters." } }, - "description": "The update to be applied to the ManagedClusters.", "required": [ "upgrade" ] }, "ManagedClusterUpgradeSpec": { "type": "object", + "description": "The upgrade to apply to a ManagedCluster.", "properties": { "type": { "$ref": "#/definitions/ManagedClusterUpgradeType", @@ -1695,7 +1690,6 @@ "description": "The Kubernetes version to upgrade the member clusters to." } }, - "description": "The upgrade to apply to a ManagedCluster.", "required": [ "type" ] @@ -1726,6 +1720,7 @@ }, "MemberUpdateStatus": { "type": "object", + "description": "The status of a member update operation.", "properties": { "status": { "$ref": "#/definitions/UpdateStatus", @@ -1747,27 +1742,27 @@ "description": "The operation resource id of the latest attempt to perform the operation.", "readOnly": true } - }, - "description": "The status of a member update operation." + } }, "UpdateGroup": { "type": "object", + "description": "A group to be updated.", "properties": { "name": { "type": "string", "description": "The name of the Fleet member group to update. \nIt should match the name of an existing FleetMember group.\nA group can only appear once across all UpdateStages in the UpdateRun.", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" } }, - "description": "A group to be updated.", "required": [ "name" ] }, "UpdateGroupStatus": { "type": "object", + "description": "The status of a UpdateGroup.", "properties": { "status": { "$ref": "#/definitions/UpdateStatus", @@ -1781,21 +1776,20 @@ }, "members": { "type": "array", + "description": "The list of member this UpdateGroup updates.", "items": { "$ref": "#/definitions/MemberUpdateStatus" }, + "readOnly": true, "x-ms-identifiers": [ "name" - ], - "description": "The list of member this UpdateGroup updates.", - "x-typespec-name": "MemberUpdateStatus[]", - "readOnly": true + ] } - }, - "description": "The status of a UpdateGroup." + } }, "UpdateRun": { "type": "object", + "description": "An UpdateRun is a multi-stage process to perform update operations across members of a Fleet.", "properties": { "properties": { "$ref": "#/definitions/UpdateRunProperties", @@ -1812,7 +1806,6 @@ "readOnly": true } }, - "description": "An UpdateRun is a multi-stage process to perform update operations across members of a Fleet.", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -1821,29 +1814,28 @@ }, "UpdateRunListResult": { "type": "object", + "description": "The response of a UpdateRun list operation.", "properties": { "value": { "type": "array", + "description": "The UpdateRun items on this page", "items": { "$ref": "#/definitions/UpdateRun" - }, - "description": "The UpdateRun items on this page", - "x-typespec-name": "UpdateRun[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a UpdateRun list operation.", "required": [ "value" ] }, "UpdateRunProperties": { "type": "object", + "description": "The properties of the UpdateRun.", "properties": { "provisioningState": { "$ref": "#/definitions/UpdateRunProvisioningState", @@ -1864,7 +1856,6 @@ "readOnly": true } }, - "description": "The properties of the UpdateRun.", "required": [ "managedClusterUpdate" ] @@ -1901,6 +1892,7 @@ }, "UpdateRunStatus": { "type": "object", + "description": "The status of a UpdateRun.", "properties": { "status": { "$ref": "#/definitions/UpdateStatus", @@ -1909,59 +1901,56 @@ }, "stages": { "type": "array", + "description": "The stages composing an update run. Stages are run sequentially withing an UpdateRun.", "items": { "$ref": "#/definitions/UpdateStageStatus" }, + "readOnly": true, "x-ms-identifiers": [ "name" - ], - "description": "The stages composing an update run. Stages are run sequentially withing an UpdateRun.", - "x-typespec-name": "UpdateStageStatus[]", - "readOnly": true + ] } - }, - "description": "The status of a UpdateRun." + } }, "UpdateRunStrategy": { "type": "object", + "description": "The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated.", "properties": { "stages": { "type": "array", + "description": "The list of stages that compose this update run.", "items": { "$ref": "#/definitions/UpdateStage" }, "x-ms-identifiers": [ "name" - ], - "description": "The list of stages that compose this update run.", - "x-typespec-name": "UpdateStage[]" + ] } }, - "description": "The UpdateRunStrategy configures the sequence of Stages and Groups in which the clusters will be updated.", "required": [ "stages" ] }, "UpdateStage": { "type": "object", + "description": "Contains the groups to be updated by an UpdateRun.\nUpdate order:\n- Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts.\n- Parallel within a stage: Groups within a stage run in parallel.\n- Sequential within a group: Clusters within a group are updated sequentially.", "properties": { "name": { "type": "string", "description": "The name of the stage. Must be unique within the UpdateRun.", - "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "minLength": 1, - "maxLength": 50 + "maxLength": 50, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" }, "groups": { "type": "array", + "description": "A list of group names that compose the stage.\nThe groups will be updated in parallel. Each group name can only appear once in the UpdateRun.", "items": { "$ref": "#/definitions/UpdateGroup" }, "x-ms-identifiers": [ "name" - ], - "description": "A list of group names that compose the stage.\nThe groups will be updated in parallel. Each group name can only appear once in the UpdateRun.", - "x-typespec-name": "UpdateGroup[]" + ] }, "afterStageWaitInSeconds": { "type": "integer", @@ -1969,13 +1958,13 @@ "description": "The time in seconds to wait at the end of this stage before starting the next one. Defaults to 0 seconds if unspecified." } }, - "description": "Contains the groups to be updated by an UpdateRun.\nUpdate order:\n- Sequential between stages: Stages run sequentially. The previous stage must complete before the next one starts.\n- Parallel within a stage: Groups within a stage run in parallel.\n- Sequential within a group: Clusters within a group are updated sequentially.", "required": [ "name" ] }, "UpdateStageStatus": { "type": "object", + "description": "The status of a UpdateStage.", "properties": { "status": { "$ref": "#/definitions/UpdateStatus", @@ -1989,23 +1978,21 @@ }, "groups": { "type": "array", + "description": "The list of groups to be updated as part of this UpdateStage.", "items": { "$ref": "#/definitions/UpdateGroupStatus" }, + "readOnly": true, "x-ms-identifiers": [ "name" - ], - "description": "The list of groups to be updated as part of this UpdateStage.", - "x-typespec-name": "UpdateGroupStatus[]", - "readOnly": true + ] }, "afterStageWaitStatus": { "$ref": "#/definitions/WaitStatus", "description": "The status of the wait period configured on the UpdateStage.", "readOnly": true } - }, - "description": "The status of a UpdateStage." + } }, "UpdateState": { "type": "string", @@ -2025,6 +2012,7 @@ }, "UpdateStatus": { "type": "object", + "description": "The status for an operation or group of operations.", "properties": { "startTime": { "type": "string", @@ -2048,11 +2036,11 @@ "description": "The error details when a failure is encountered.", "readOnly": true } - }, - "description": "The status for an operation or group of operations." + } }, "WaitStatus": { "type": "object", + "description": "The status of the wait duration.", "properties": { "status": { "$ref": "#/definitions/UpdateStatus", @@ -2065,8 +2053,7 @@ "description": "The wait duration configured in seconds.", "readOnly": true } - }, - "description": "The status of the wait duration." + } } }, "parameters": {} diff --git a/specification/containerstorage/ContainerStorage.Management/main.tsp b/specification/containerstorage/ContainerStorage.Management/main.tsp index 5c96967501e9..1522c522969e 100644 --- a/specification/containerstorage/ContainerStorage.Management/main.tsp +++ b/specification/containerstorage/ContainerStorage.Management/main.tsp @@ -51,23 +51,23 @@ model PoolProperties { @doc("Initial capacity of the pool in GiB.") poolCapacityGiB: int64; + // @doc("List of boolean feature-flags, e.g. pool/volume auto-expansion, reclaim policy.") // features?: Record; - @doc("List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many.") assignments: string[]; + // Don't include in preview // @doc("Type of encryption. Allowed values: EncryptionAtRestWithPlatformKey.") // encryption: EncryptionType; - @doc("Ephemeral Pool Properties") ephemeralPoolProperties?: EphemeralPoolProperties; + // @doc("Managed Pool Properties") // managedPoolProperties?: ManagedPoolProperties; - @doc("Disk Pool Properties") diskPoolProperties?: DiskPoolProperties; @@ -114,10 +114,10 @@ model DiskPoolProperties { @doc("List of KV pairs to set in StorageClass to configure CSI driver.") csiParams?: Record; + // @doc("Initial capacity of disks. Application volumes must fit within single disks.") // diskCapacityRequest: int64; - @doc("Maximum capacity of the volumes in GiB the user intends to create. Default 512.") maxVolumeCapacityGiB?: int64 = 512; @@ -212,7 +212,7 @@ enum PoolType { enum VolumeBindingMode { /** Immediate binding */ Immediate, - /** Wait for customer to bind */ + /** Wait for customer to bind */ WaitFirstForCustomer, } @@ -285,11 +285,11 @@ model VolumeProperties { @visibility("read") @doc("The status of the last operation.") provisioningState?: ProvisioningState; + // Will not have features enabled by these flags for preview // @doc("List of boolean feature-flags, e.g. pool/volume auto-expansion, reclaim policy.") // features?: Record; - @doc("String KV pairs indicating labels") labels: Record; @@ -298,6 +298,7 @@ model VolumeProperties { @doc("Indicates how the volume should be attached") volumeMode: VolumeMode; + // Set default to RWO in RP and pass it through // @doc("Indicates how the volume can be accessed") // accessMode: AccessMode; @@ -306,7 +307,6 @@ model VolumeProperties { // @doc("Number of replicas") // replicas: int64; - @doc("Reclaim Policy, Delete or Retain") reclaimPolicy: ReclaimPolicy; @@ -318,7 +318,7 @@ model VolumeProperties { // placementProperties: PlacementProperties; } -/** Storage volume mode */ +/** Storage volume mode */ enum VolumeMode { /** FileSystem volume mode */ Filesystem, @@ -385,11 +385,11 @@ model VolumeSnapshotProperties { @visibility("read") @doc("The status of the last operation.") provisioningState?: ProvisioningState; + // Don't include in preview // @doc("List of boolean feature-flags, e.g. pool/volume auto-expansion, reclaim policy.") // features?: Record; - @doc("Reference to the source volume") source: string; diff --git a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-03-01-preview/containerstorage.json b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-03-01-preview/containerstorage.json index 47e943df07a7..0afc03d89d2b 100644 --- a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-03-01-preview/containerstorage.json +++ b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-03-01-preview/containerstorage.json @@ -55,10 +55,10 @@ "paths": { "/providers/Microsoft.ContainerStorage/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], - "operationId": "Operations_List", "description": "List the operations for the provider", "parameters": [ { @@ -79,9 +79,6 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Operations_List_MaximumSet_Gen": { "$ref": "./examples/Operations_List_MaximumSet_Gen.json" @@ -89,15 +86,18 @@ "Operations_List_MinimumSet_Gen": { "$ref": "./examples/Operations_List_MinimumSet_Gen.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerStorage/pools": { "get": { + "operationId": "Pools_ListBySubscription", "tags": [ "Pools" ], - "operationId": "Pools_ListBySubscription", "description": "List Pool resources by subscription ID", "parameters": [ { @@ -121,9 +121,6 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Pools_ListBySubscription_MaximumSet_Gen": { "$ref": "./examples/Pools_ListBySubscription_MaximumSet_Gen.json" @@ -131,15 +128,18 @@ "Pools_ListBySubscription_MinimumSet_Gen": { "$ref": "./examples/Pools_ListBySubscription_MinimumSet_Gen.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools": { "get": { + "operationId": "Pools_ListByResourceGroup", "tags": [ "Pools" ], - "operationId": "Pools_ListByResourceGroup", "description": "List Pool resources by resource group", "parameters": [ { @@ -166,9 +166,6 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Pools_ListByResourceGroup_MaximumSet_Gen": { "$ref": "./examples/Pools_ListByResourceGroup_MaximumSet_Gen.json" @@ -176,15 +173,18 @@ "Pools_ListByResourceGroup_MinimumSet_Gen": { "$ref": "./examples/Pools_ListByResourceGroup_MinimumSet_Gen.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}": { "get": { + "operationId": "Pools_Get", "tags": [ "Pools" ], - "operationId": "Pools_Get", "description": "Get a Pool", "parameters": [ { @@ -199,8 +199,8 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } @@ -229,10 +229,10 @@ } }, "put": { + "operationId": "Pools_CreateOrUpdate", "tags": [ "Pools" ], - "operationId": "Pools_CreateOrUpdate", "description": "Create a Pool", "parameters": [ { @@ -247,16 +247,16 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Pool" } @@ -271,15 +271,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Pool" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Pool" } }, "default": { @@ -302,12 +302,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "Pools_Update", "tags": [ "Pools" ], - "operationId": "Pools_Delete", - "description": "Delete a Pool", + "description": "Update a Pool", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -321,33 +321,42 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/PoolUpdate" + } } ], "responses": { "200": { - "description": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Pool" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -356,11 +365,11 @@ } }, "x-ms-examples": { - "Pools_Delete_MaximumSet_Gen": { - "$ref": "./examples/Pools_Delete_MaximumSet_Gen.json" + "Pools_Update_MaximumSet_Gen": { + "$ref": "./examples/Pools_Update_MaximumSet_Gen.json" }, - "Pools_Delete_MinimumSet_Gen": { - "$ref": "./examples/Pools_Delete_MinimumSet_Gen.json" + "Pools_Update_MinimumSet_Gen": { + "$ref": "./examples/Pools_Update_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -368,12 +377,12 @@ }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "Pools_Delete", "tags": [ "Pools" ], - "operationId": "Pools_Update", - "description": "Update a Pool", + "description": "Delete a Pool", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -387,42 +396,33 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "name": "properties", - "in": "body", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/PoolUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/Pool" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -431,11 +431,11 @@ } }, "x-ms-examples": { - "Pools_Update_MaximumSet_Gen": { - "$ref": "./examples/Pools_Update_MaximumSet_Gen.json" + "Pools_Delete_MaximumSet_Gen": { + "$ref": "./examples/Pools_Delete_MaximumSet_Gen.json" }, - "Pools_Update_MinimumSet_Gen": { - "$ref": "./examples/Pools_Update_MinimumSet_Gen.json" + "Pools_Delete_MinimumSet_Gen": { + "$ref": "./examples/Pools_Delete_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -444,13 +444,13 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumeSnapshots": { "get": { + "operationId": "VolumeSnapshots_ListByPool", "tags": [ - "Volumes" + "VolumeSnapshots" ], - "operationId": "Volumes_ListByPool", - "description": "List Volume resources by Pool", + "description": "List VolumeSnapshot resources by Pool", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -464,8 +464,8 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } @@ -474,7 +474,7 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/VolumeListResult" + "$ref": "#/definitions/VolumeSnapshotListResult" } }, "default": { @@ -484,26 +484,26 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Volumes_ListByPool_MaximumSet_Gen": { - "$ref": "./examples/Volumes_ListByPool_MaximumSet_Gen.json" + "VolumeSnapshots_ListByPool_MaximumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_ListByPool_MaximumSet_Gen.json" }, - "Volumes_ListByPool_MinimumSet_Gen": { - "$ref": "./examples/Volumes_ListByPool_MinimumSet_Gen.json" + "VolumeSnapshots_ListByPool_MinimumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_ListByPool_MinimumSet_Gen.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes/{volumeName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumeSnapshots/{volumeSnapshotName}": { "get": { + "operationId": "VolumeSnapshots_Get", "tags": [ - "Volumes" + "VolumeSnapshots" ], - "operationId": "Volumes_Get", - "description": "Get a Volume", + "description": "Get a VolumeSnapshot", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -517,16 +517,16 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeName", + "name": "volumeSnapshotName", "in": "path", + "description": "Volume Snapshot Resource", "required": true, - "description": "Volume Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } @@ -535,7 +535,7 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/VolumeSnapshot" } }, "default": { @@ -546,20 +546,20 @@ } }, "x-ms-examples": { - "Volumes_Get_MaximumSet_Gen": { - "$ref": "./examples/Volumes_Get_MaximumSet_Gen.json" + "VolumeSnapshots_Get_MaximumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Get_MaximumSet_Gen.json" }, - "Volumes_Get_MinimumSet_Gen": { - "$ref": "./examples/Volumes_Get_MinimumSet_Gen.json" + "VolumeSnapshots_Get_MinimumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Get_MinimumSet_Gen.json" } } }, "put": { + "operationId": "VolumeSnapshots_CreateOrUpdate", "tags": [ - "Volumes" + "VolumeSnapshots" ], - "operationId": "Volumes_CreateOrUpdate", - "description": "Create a Volume", + "description": "Create a VolumeSnapshot", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -573,26 +573,26 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeName", + "name": "volumeSnapshotName", "in": "path", + "description": "Volume Snapshot Resource", "required": true, - "description": "Volume Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/VolumeSnapshot" } } ], @@ -600,20 +600,20 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/Volume" + "$ref": "#/definitions/VolumeSnapshot" } }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/VolumeSnapshot" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Volume" } }, "default": { @@ -624,11 +624,11 @@ } }, "x-ms-examples": { - "Volumes_CreateOrUpdate_MaximumSet_Gen": { - "$ref": "./examples/Volumes_CreateOrUpdate_MaximumSet_Gen.json" + "VolumeSnapshots_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_CreateOrUpdate_MaximumSet_Gen.json" }, - "Volumes_CreateOrUpdate_MinimumSet_Gen": { - "$ref": "./examples/Volumes_CreateOrUpdate_MinimumSet_Gen.json" + "VolumeSnapshots_CreateOrUpdate_MinimumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_CreateOrUpdate_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -636,12 +636,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "VolumeSnapshots_Update", "tags": [ - "Volumes" + "VolumeSnapshots" ], - "operationId": "Volumes_Delete", - "description": "Delete a Volume", + "description": "Update a VolumeSnapshot", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -655,41 +655,50 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeName", + "name": "volumeSnapshotName", "in": "path", + "description": "Volume Snapshot Resource", "required": true, - "description": "Volume Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/VolumeSnapshotUpdate" + } } ], "responses": { "200": { - "description": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/VolumeSnapshot" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -698,24 +707,24 @@ } }, "x-ms-examples": { - "Volumes_Delete_MaximumSet_Gen": { - "$ref": "./examples/Volumes_Delete_MaximumSet_Gen.json" + "VolumeSnapshots_Update_MaximumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Update_MaximumSet_Gen.json" }, - "Volumes_Delete_MinimumSet_Gen": { - "$ref": "./examples/Volumes_Delete_MinimumSet_Gen.json" + "VolumeSnapshots_Update_MinimumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Update_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "VolumeSnapshots_Delete", "tags": [ - "Volumes" + "VolumeSnapshots" ], - "operationId": "Volumes_Update", - "description": "Update a Volume", + "description": "Delete a VolumeSnapshot", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -729,50 +738,41 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeName", + "name": "volumeSnapshotName", "in": "path", + "description": "Volume Snapshot Resource", "required": true, - "description": "Volume Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "name": "properties", - "in": "body", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/VolumeUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/Volume" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -781,11 +781,11 @@ } }, "x-ms-examples": { - "Volumes_Update_MaximumSet_Gen": { - "$ref": "./examples/Volumes_Update_MaximumSet_Gen.json" + "VolumeSnapshots_Delete_MaximumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Delete_MaximumSet_Gen.json" }, - "Volumes_Update_MinimumSet_Gen": { - "$ref": "./examples/Volumes_Update_MinimumSet_Gen.json" + "VolumeSnapshots_Delete_MinimumSet_Gen": { + "$ref": "./examples/VolumeSnapshots_Delete_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -794,13 +794,13 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumeSnapshots": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes": { "get": { + "operationId": "Volumes_ListByPool", "tags": [ - "VolumeSnapshots" + "Volumes" ], - "operationId": "VolumeSnapshots_ListByPool", - "description": "List VolumeSnapshot resources by Pool", + "description": "List Volume resources by Pool", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -814,8 +814,8 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } @@ -824,7 +824,7 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/VolumeSnapshotListResult" + "$ref": "#/definitions/VolumeListResult" } }, "default": { @@ -834,26 +834,26 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "VolumeSnapshots_ListByPool_MaximumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_ListByPool_MaximumSet_Gen.json" + "Volumes_ListByPool_MaximumSet_Gen": { + "$ref": "./examples/Volumes_ListByPool_MaximumSet_Gen.json" }, - "VolumeSnapshots_ListByPool_MinimumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_ListByPool_MinimumSet_Gen.json" + "Volumes_ListByPool_MinimumSet_Gen": { + "$ref": "./examples/Volumes_ListByPool_MinimumSet_Gen.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumeSnapshots/{volumeSnapshotName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerStorage/pools/{poolName}/volumes/{volumeName}": { "get": { + "operationId": "Volumes_Get", "tags": [ - "VolumeSnapshots" + "Volumes" ], - "operationId": "VolumeSnapshots_Get", - "description": "Get a VolumeSnapshot", + "description": "Get a Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -867,16 +867,16 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeSnapshotName", + "name": "volumeName", "in": "path", + "description": "Volume Resource", "required": true, - "description": "Volume Snapshot Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" } @@ -885,7 +885,7 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/VolumeSnapshot" + "$ref": "#/definitions/Volume" } }, "default": { @@ -896,20 +896,20 @@ } }, "x-ms-examples": { - "VolumeSnapshots_Get_MaximumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Get_MaximumSet_Gen.json" + "Volumes_Get_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Get_MaximumSet_Gen.json" }, - "VolumeSnapshots_Get_MinimumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Get_MinimumSet_Gen.json" + "Volumes_Get_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Get_MinimumSet_Gen.json" } } }, "put": { + "operationId": "Volumes_CreateOrUpdate", "tags": [ - "VolumeSnapshots" + "Volumes" ], - "operationId": "VolumeSnapshots_CreateOrUpdate", - "description": "Create a VolumeSnapshot", + "description": "Create a Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -923,26 +923,26 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeSnapshotName", + "name": "volumeName", "in": "path", + "description": "Volume Resource", "required": true, - "description": "Volume Snapshot Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { - "$ref": "#/definitions/VolumeSnapshot" + "$ref": "#/definitions/Volume" } } ], @@ -950,20 +950,20 @@ "200": { "description": "ARM operation completed successfully.", "schema": { - "$ref": "#/definitions/VolumeSnapshot" + "$ref": "#/definitions/Volume" } }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Volume" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/VolumeSnapshot" } }, "default": { @@ -974,11 +974,11 @@ } }, "x-ms-examples": { - "VolumeSnapshots_CreateOrUpdate_MaximumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_CreateOrUpdate_MaximumSet_Gen.json" + "Volumes_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/Volumes_CreateOrUpdate_MaximumSet_Gen.json" }, - "VolumeSnapshots_CreateOrUpdate_MinimumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_CreateOrUpdate_MinimumSet_Gen.json" + "Volumes_CreateOrUpdate_MinimumSet_Gen": { + "$ref": "./examples/Volumes_CreateOrUpdate_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -986,12 +986,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "Volumes_Update", "tags": [ - "VolumeSnapshots" + "Volumes" ], - "operationId": "VolumeSnapshots_Delete", - "description": "Delete a VolumeSnapshot", + "description": "Update a Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -1005,41 +1005,50 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeSnapshotName", + "name": "volumeName", "in": "path", + "description": "Volume Resource", "required": true, - "description": "Volume Snapshot Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/VolumeUpdate" + } } ], "responses": { "200": { - "description": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Volume" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1048,11 +1057,11 @@ } }, "x-ms-examples": { - "VolumeSnapshots_Delete_MaximumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Delete_MaximumSet_Gen.json" + "Volumes_Update_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Update_MaximumSet_Gen.json" }, - "VolumeSnapshots_Delete_MinimumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Delete_MinimumSet_Gen.json" + "Volumes_Update_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Update_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { @@ -1060,12 +1069,12 @@ }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "Volumes_Delete", "tags": [ - "VolumeSnapshots" + "Volumes" ], - "operationId": "VolumeSnapshots_Update", - "description": "Update a VolumeSnapshot", + "description": "Delete a Volume", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -1079,50 +1088,41 @@ { "name": "poolName", "in": "path", - "required": true, "description": "Pool Object", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" }, { - "name": "volumeSnapshotName", + "name": "volumeName", "in": "path", + "description": "Volume Resource", "required": true, - "description": "Volume Snapshot Resource", "type": "string", "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "name": "properties", - "in": "body", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/VolumeSnapshotUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/VolumeSnapshot" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1131,15 +1131,15 @@ } }, "x-ms-examples": { - "VolumeSnapshots_Update_MaximumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Update_MaximumSet_Gen.json" + "Volumes_Delete_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Delete_MaximumSet_Gen.json" }, - "VolumeSnapshots_Update_MinimumSet_Gen": { - "$ref": "./examples/VolumeSnapshots_Update_MinimumSet_Gen.json" + "Volumes_Delete_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Delete_MinimumSet_Gen.json" } }, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" + "final-state-via": "location" }, "x-ms-long-running-operation": true } @@ -1244,14 +1244,14 @@ }, "DiskPoolProperties": { "type": "object", + "description": "Disk Pool Properties", "properties": { "csiParams": { "type": "object", + "description": "List of KV pairs to set in StorageClass to configure CSI driver.", "additionalProperties": { "type": "string" - }, - "description": "List of KV pairs to set in StorageClass to configure CSI driver.", - "x-typespec-name": "Record" + } }, "maxVolumeCapacityGiB": { "type": "integer", @@ -1261,17 +1261,16 @@ }, "disks": { "type": "array", + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", "items": { "type": "string" - }, - "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", - "x-typespec-name": "string[]" + } } - }, - "description": "Disk Pool Properties" + } }, "DiskProperties": { "type": "object", + "description": "Disk Properties Model", "properties": { "resourceId": { "type": "string", @@ -1303,7 +1302,6 @@ "description": "Used to import SSD to discover WWN" } }, - "description": "Disk Properties Model", "required": [ "resourceId", "wwn", @@ -1340,6 +1338,7 @@ }, "ElasticSanPoolProperties": { "type": "object", + "description": "Elastic San Pool Properties", "properties": { "sanName": { "type": "string", @@ -1354,7 +1353,6 @@ "description": "Volume group of an existing SAN." } }, - "description": "Elastic San Pool Properties", "required": [ "sanName", "resourceGroup", @@ -1363,6 +1361,7 @@ }, "ElasticSanPoolPropertiesUpdate": { "type": "object", + "description": "Elastic San Pool Properties", "properties": { "sanName": { "type": "string", @@ -1376,8 +1375,7 @@ "type": "string", "description": "Volume group of an existing SAN." } - }, - "description": "Elastic San Pool Properties" + } }, "EncryptionType": { "type": "string", @@ -1399,22 +1397,21 @@ }, "EphemeralPoolProperties": { "type": "object", + "description": "Ephemeral Pool Properties", "properties": { "diskSelector": { "type": "array", + "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks.", "items": { "type": "string" - }, - "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks.", - "x-typespec-name": "string[]" + } }, "disks": { "type": "array", + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", "items": { "type": "string" - }, - "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", - "x-typespec-name": "string[]" + } }, "diskFormat": { "type": "boolean", @@ -1422,7 +1419,6 @@ "default": false } }, - "description": "Ephemeral Pool Properties", "required": [ "diskSelector", "disks" @@ -1430,38 +1426,37 @@ }, "EphemeralPoolPropertiesUpdate": { "type": "object", + "description": "Ephemeral Pool Properties", "properties": { "diskSelector": { "type": "array", + "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks.", "items": { "type": "string" - }, - "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks.", - "x-typespec-name": "string[]" + } }, "disks": { "type": "array", + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", "items": { "type": "string" - }, - "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags).", - "x-typespec-name": "string[]" + } }, "diskFormat": { "type": "boolean", "description": "Consent to format the local disks.", "default": false } - }, - "description": "Ephemeral Pool Properties" + } }, "ManagedPoolProperties": { "type": "object", - "properties": {}, - "description": "Managed Pool Properties" + "description": "Managed Pool Properties", + "properties": {} }, "NetworkRuleSet": { "type": "object", + "description": "Network Rule Set definition", "properties": { "defaultAction": { "$ref": "#/definitions/Action", @@ -1469,14 +1464,12 @@ }, "virtualNetworkRules": { "type": "array", + "description": "Virtual network rules", "items": { "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "Virtual network rules", - "x-typespec-name": "VirtualNetworkRule[]" + } } }, - "description": "Network Rule Set definition", "required": [ "defaultAction", "virtualNetworkRules" @@ -1484,6 +1477,7 @@ }, "PlacementProperties": { "type": "object", + "description": "Placement Properties Model", "properties": { "affinityLabelSelector": { "type": "string", @@ -1498,7 +1492,6 @@ "description": "When unsatisfiable" } }, - "description": "Placement Properties Model", "required": [ "affinityLabelSelector", "antiAffinityLabelSelector", @@ -1507,6 +1500,7 @@ }, "Pool": { "type": "object", + "description": "Pool resource", "properties": { "properties": { "$ref": "#/definitions/PoolProperties", @@ -1518,7 +1512,6 @@ ] } }, - "description": "Pool resource", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -1527,29 +1520,28 @@ }, "PoolListResult": { "type": "object", + "description": "The response of a Pool list operation.", "properties": { "value": { "type": "array", + "description": "The Pool items on this page", "items": { "$ref": "#/definitions/Pool" - }, - "description": "The Pool items on this page", - "x-typespec-name": "Pool[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Pool list operation.", "required": [ "value" ] }, "PoolProperties": { "type": "object", + "description": "Pool Properties", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1562,11 +1554,10 @@ }, "zones": { "type": "array", + "description": "List of availability zones that resources can be created in.", "items": { "type": "string" - }, - "description": "List of availability zones that resources can be created in.", - "x-typespec-name": "string[]" + } }, "poolCapacityGiB": { "type": "integer", @@ -1575,11 +1566,10 @@ }, "assignments": { "type": "array", + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many.", "items": { "type": "string" - }, - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many.", - "x-typespec-name": "string[]" + } }, "ephemeralPoolProperties": { "$ref": "#/definitions/EphemeralPoolProperties", @@ -1594,7 +1584,6 @@ "description": "Elastic San Pool Properties" } }, - "description": "Pool Properties", "required": [ "poolType", "zones", @@ -1641,24 +1630,24 @@ }, "PoolUpdate": { "type": "object", + "description": "The type used for update operations of the Pool.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } }, "properties": { "$ref": "#/definitions/PoolUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the Pool." + } }, "PoolUpdateProperties": { "type": "object", + "description": "The updatable properties of the Pool.", "properties": { "poolType": { "$ref": "#/definitions/PoolType", @@ -1666,11 +1655,10 @@ }, "zones": { "type": "array", + "description": "List of availability zones that resources can be created in.", "items": { "type": "string" - }, - "description": "List of availability zones that resources can be created in.", - "x-typespec-name": "string[]" + } }, "poolCapacityGiB": { "type": "integer", @@ -1679,11 +1667,10 @@ }, "assignments": { "type": "array", + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many.", "items": { "type": "string" - }, - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many.", - "x-typespec-name": "string[]" + } }, "ephemeralPoolProperties": { "$ref": "#/definitions/EphemeralPoolPropertiesUpdate", @@ -1697,8 +1684,7 @@ "$ref": "#/definitions/ElasticSanPoolPropertiesUpdate", "description": "Elastic San Pool Properties" } - }, - "description": "The updatable properties of the Pool." + } }, "ProtocolType": { "type": "string", @@ -1804,6 +1790,7 @@ }, "Sku": { "type": "object", + "description": "Sku definition", "properties": { "name": { "$ref": "#/definitions/SkuName", @@ -1814,7 +1801,6 @@ "description": "Sku Account Tier" } }, - "description": "Sku definition", "required": [ "name", "tier" @@ -1852,6 +1838,7 @@ }, "VirtualNetworkRule": { "type": "object", + "description": "Virtual Network Rule definition", "properties": { "action": { "$ref": "#/definitions/Action", @@ -1863,13 +1850,13 @@ "description": "Id of rule" } }, - "description": "Virtual Network Rule definition", "required": [ "id" ] }, "Volume": { "type": "object", + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/VolumeProperties", @@ -1881,7 +1868,6 @@ ] } }, - "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -1914,23 +1900,21 @@ }, "VolumeListResult": { "type": "object", + "description": "The response of a Volume list operation.", "properties": { "value": { "type": "array", + "description": "The Volume items on this page", "items": { "$ref": "#/definitions/Volume" - }, - "description": "The Volume items on this page", - "x-typespec-name": "Volume[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Volume list operation.", "required": [ "value" ] @@ -1961,6 +1945,7 @@ }, "VolumeProperties": { "type": "object", + "description": "Volume Properties", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1969,11 +1954,10 @@ }, "labels": { "type": "object", + "description": "String KV pairs indicating labels", "additionalProperties": { "type": "string" - }, - "description": "String KV pairs indicating labels", - "x-typespec-name": "Record" + } }, "capacityGiB": { "type": "integer", @@ -1990,14 +1974,12 @@ }, "mountOptions": { "type": "array", + "description": "List of string mount options", "items": { "type": "string" - }, - "description": "List of string mount options", - "x-typespec-name": "string[]" + } } }, - "description": "Volume Properties", "required": [ "labels", "capacityGiB", @@ -2008,6 +1990,7 @@ }, "VolumeSnapshot": { "type": "object", + "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/VolumeSnapshotProperties", @@ -2019,7 +2002,6 @@ ] } }, - "description": "Concrete proxy resource types can be created by aliasing this type using a specific property type.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -2028,29 +2010,28 @@ }, "VolumeSnapshotListResult": { "type": "object", + "description": "The response of a VolumeSnapshot list operation.", "properties": { "value": { "type": "array", + "description": "The VolumeSnapshot items on this page", "items": { "$ref": "#/definitions/VolumeSnapshot" - }, - "description": "The VolumeSnapshot items on this page", - "x-typespec-name": "VolumeSnapshot[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a VolumeSnapshot list operation.", "required": [ "value" ] }, "VolumeSnapshotProperties": { "type": "object", + "description": "Volume Snapshot Properties", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -2071,14 +2052,12 @@ }, "mountOptions": { "type": "array", + "description": "List of string mount options", "items": { "type": "string" - }, - "description": "List of string mount options", - "x-typespec-name": "string[]" + } } }, - "description": "Volume Snapshot Properties", "required": [ "source", "volumeMode", @@ -2088,16 +2067,17 @@ }, "VolumeSnapshotUpdate": { "type": "object", + "description": "The type used for update operations of the VolumeSnapshot.", "properties": { "properties": { "$ref": "#/definitions/VolumeSnapshotUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the VolumeSnapshot." + } }, "VolumeSnapshotUpdateProperties": { "type": "object", + "description": "The updatable properties of the VolumeSnapshot.", "properties": { "source": { "type": "string", @@ -2113,35 +2093,33 @@ }, "mountOptions": { "type": "array", + "description": "List of string mount options", "items": { "type": "string" - }, - "description": "List of string mount options", - "x-typespec-name": "string[]" + } } - }, - "description": "The updatable properties of the VolumeSnapshot." + } }, "VolumeUpdate": { "type": "object", + "description": "The type used for update operations of the Volume.", "properties": { "properties": { "$ref": "#/definitions/VolumeUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the Volume." + } }, "VolumeUpdateProperties": { "type": "object", + "description": "The updatable properties of the Volume.", "properties": { "labels": { "type": "object", + "description": "String KV pairs indicating labels", "additionalProperties": { "type": "string" - }, - "description": "String KV pairs indicating labels", - "x-typespec-name": "Record" + } }, "capacityGiB": { "type": "integer", @@ -2158,14 +2136,12 @@ }, "mountOptions": { "type": "array", + "description": "List of string mount options", "items": { "type": "string" - }, - "description": "List of string mount options", - "x-typespec-name": "string[]" + } } - }, - "description": "The updatable properties of the Volume." + } }, "WhenUnsatisfiable": { "type": "string", diff --git a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp index 93be75d6dd3d..45bebf834f68 100644 --- a/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp +++ b/specification/contosowidgetmanager/Contoso.WidgetManager/main.tsp @@ -9,7 +9,7 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; -@useAuth(OAuth2Auth<[ContosoAuthFlow]>) +@useAuth(AadOauth2Auth<["https://contoso.azure.com/.default"]>) @service({ title: "Contoso Widget Manager", }) @@ -23,18 +23,6 @@ enum Versions { v2022_11_01_Preview: "2022-11-01-preview", } -@doc("A faked auth model.") -model ContosoAuthFlow { - @doc("The auth flow type.") - type: OAuth2FlowType.implicit; - - @doc("The auth flow authorization URL.") - authorizationUrl: "https://login.microsoftonline.com/common/oauth2/authorize"; - - @doc("The auth flow token URL.") - scopes: ["https://security.microsoft.com/.default"]; -} - @doc("A widget.") @resource("widgets") model WidgetSuite { diff --git a/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json b/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json index 14cf35244597..c6658714b8d3 100644 --- a/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json +++ b/specification/contosowidgetmanager/data-plane/Azure.Contoso.WidgetManager/preview/2022-11-01-preview/widgets.json @@ -20,19 +20,21 @@ ], "security": [ { - "OAuth2Auth": [ - "https://security.microsoft.com/.default" + "AadOauth2Auth": [ + "https://contoso.azure.com/.default" ] } ], "securityDefinitions": { - "OAuth2Auth": { + "AadOauth2Auth": { "type": "oauth2", - "flow": "implicit", + "description": "The Azure Active Directory OAuth2 Flow", + "flow": "accessCode", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { - "https://security.microsoft.com/.default": "" - } + "https://contoso.azure.com/.default": "" + }, + "tokenUrl": "https://login.microsoftonline.com/common/oauth2/token" } }, "tags": [], @@ -51,50 +53,47 @@ "description": "The request has succeeded.", "schema": { "type": "object", + "description": "Paged collection of WidgetSuite items", "properties": { "value": { "type": "array", + "description": "The WidgetSuite items on this page", "items": { "$ref": "#/definitions/WidgetSuite" }, - "x-ms-identifiers": [], - "description": "The WidgetSuite items on this page", - "x-typespec-name": "WidgetSuite[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of WidgetSuite items", "required": [ "value" - ], - "x-typespec-name": "Azure.Core.Foundations.CustomPage" + ] } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Widgets_ListWidgets": { "$ref": "./examples/Widgets_ListWidgetsSample.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -109,8 +108,8 @@ { "name": "widgetName", "in": "path", - "required": true, "description": "The widget name.", + "required": true, "type": "string" } ], @@ -123,14 +122,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -143,6 +142,9 @@ "patch": { "operationId": "Widgets_CreateOrUpdateWidget", "description": "Creates or updates a Widget asynchronously.", + "consumes": [ + "application/merge-patch+json" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -150,15 +152,15 @@ { "name": "widgetName", "in": "path", - "required": true, "description": "The widget name.", + "required": true, "type": "string" }, { "name": "resource", "in": "body", - "required": true, "description": "The resource instance.", + "required": true, "schema": { "$ref": "#/definitions/WidgetSuiteUpdate" } @@ -167,46 +169,43 @@ "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/WidgetSuite" + }, "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." } - }, - "schema": { - "$ref": "#/definitions/WidgetSuite" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/WidgetSuite" + }, "headers": { "Operation-Location": { - "description": "The location for monitoring the operation state.", "type": "string", - "format": "uri" + "format": "uri", + "description": "The location for monitoring the operation state." } - }, - "schema": { - "$ref": "#/definitions/WidgetSuite" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/merge-patch+json" - ], "x-ms-examples": { "Widgets_CreateOrUpdateWidget": { "$ref": "./examples/Widgets_CreateOrUpdateWidgetSample.json" @@ -223,23 +222,17 @@ { "name": "widgetName", "in": "path", - "required": true, "description": "The widget name.", + "required": true, "type": "string" } ], "responses": { "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", - "headers": { - "Operation-Location": { - "description": "The location for monitoring the operation state.", - "type": "string", - "format": "uri" - } - }, "schema": { "type": "object", + "description": "Provides status details for long running operations.", "properties": { "id": { "type": "string", @@ -254,24 +247,29 @@ "description": "Error object that describes the error when status is \"Failed\"." } }, - "description": "Provides status details for long running operations.", "required": [ "id", "status" - ], - "x-typespec-name": "Azure.Core.Foundations.OperationStatus" + ] + }, + "headers": { + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -293,15 +291,15 @@ { "name": "widgetName", "in": "path", - "required": true, "description": "The widget name.", + "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "required": true, "description": "The unique ID of the operation.", + "required": true, "type": "string" } ], @@ -310,6 +308,7 @@ "description": "The request has succeeded.", "schema": { "type": "object", + "description": "Provides status details for long running operations.", "properties": { "id": { "type": "string", @@ -328,24 +327,22 @@ "description": "The result of the operation." } }, - "description": "Provides status details for long running operations.", "required": [ "id", "status" - ], - "x-typespec-name": "Azure.Core.ResourceOperationStatus" + ] } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -360,6 +357,7 @@ "definitions": { "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -375,19 +373,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -395,19 +391,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -417,8 +414,7 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "Azure.Core.Foundations.OperationState": { "type": "string", @@ -456,42 +452,9 @@ ] } }, - "ContosoAuthFlow": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "implicit" - ], - "description": "The auth flow type." - }, - "authorizationUrl": { - "type": "string", - "enum": [ - "https://login.microsoftonline.com/common/oauth2/authorize" - ], - "x-ms-enum": { - "modelAsString": false - }, - "description": "The auth flow authorization URL." - }, - "scopes": { - "type": "array", - "items": {}, - "x-typespec-name": "[https://security.microsoft.com/.default]", - "description": "The auth flow token URL." - } - }, - "description": "A faked auth model.", - "required": [ - "type", - "authorizationUrl", - "scopes" - ] - }, "FakedSharedModel": { "type": "object", + "description": "Faked shared model", "properties": { "tag": { "type": "string", @@ -503,7 +466,6 @@ "description": "The created date." } }, - "description": "Faked shared model", "required": [ "tag", "createdAt" @@ -511,6 +473,7 @@ }, "FakedSharedModelUpdate": { "type": "object", + "description": "Faked shared model", "properties": { "tag": { "type": "string", @@ -521,8 +484,7 @@ "format": "date-time", "description": "The created date." } - }, - "description": "Faked shared model" + } }, "Versions": { "type": "string", @@ -544,6 +506,7 @@ }, "WidgetSuite": { "type": "object", + "description": "A widget.", "properties": { "name": { "type": "string", @@ -559,7 +522,6 @@ "description": "The faked shared model." } }, - "description": "A widget.", "required": [ "name", "manufacturerId" @@ -567,6 +529,7 @@ }, "WidgetSuiteUpdate": { "type": "object", + "description": "A widget.", "properties": { "manufacturerId": { "type": "string", @@ -576,20 +539,19 @@ "$ref": "#/definitions/FakedSharedModelUpdate", "description": "The faked shared model." } - }, - "description": "A widget." + } } }, "parameters": { "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json index 85695b30a587..2c1e09f26680 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-04-15/cosmos-db.json @@ -7026,7 +7026,7 @@ "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.", + "description": "Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.", "type": "string", "$ref": "#/definitions/MinimalTlsVersion" } @@ -7176,7 +7176,7 @@ "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.", + "description": "Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.", "type": "string", "$ref": "#/definitions/MinimalTlsVersion" } @@ -7350,7 +7350,7 @@ "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.", + "description": "Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.", "type": "string", "$ref": "#/definitions/MinimalTlsVersion" } @@ -9901,7 +9901,7 @@ } }, "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.", + "description": "Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.", "type": "string", "enum": [ "Tls", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/costmanagement.json index fbf24d23bab9..4ef59540baac 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/costmanagement.json @@ -1460,284 +1460,9 @@ } } } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/markupRules": { - "get": { - "tags": [ - "MarkupRules" - ], - "operationId": "MarkupRules_List", - "description": "Retrieve all the active markup rules for the partner billing account/billing profile calling the API.", - "externalDocs": { - "url": "https://docs.microsoft.com/rest/api/cost-management/" - }, - "x-ms-examples": { - "PrivateMarkupRulesList": { - "$ref": "./examples/markupRules-list-private.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/billingProfileIdParameter" - }, - { - "$ref": "common-types.json#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/MarkupRulePagedResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "common-types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/markupRules/{name}": { - "put": { - "tags": [ - "MarkupRules" - ], - "operationId": "MarkupRules_CreateOrUpdate", - "description": "Create or update a markup rule", - "x-ms-examples": { - "CreateOrUpdatePrivateMarkupRules": { - "$ref": "./examples/markupRules-createOrUpdate-private.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/billingProfileIdParameter" - }, - { - "$ref": "#/parameters/markupRuleNameParameter" - }, - { - "$ref": "common-types.json#/parameters/apiVersionParameter" - }, - { - "name": "markupRule", - "description": "Markup rule to be created or updated.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MarkupRule" - } - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/MarkupRule" - } - }, - "201": { - "description": "Created.", - "schema": { - "$ref": "#/definitions/MarkupRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "common-types.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "MarkupRules" - ], - "operationId": "MarkupRules_Get", - "description": "Get a markup rule by its rule name.", - "externalDocs": { - "url": "https://docs.microsoft.com/rest/api/cost-management/" - }, - "x-ms-examples": { - "PrivateMarkupRules": { - "$ref": "./examples/markupRules-get-private.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/billingProfileIdParameter" - }, - { - "$ref": "#/parameters/markupRuleNameParameter" - }, - { - "$ref": "common-types.json#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Returns markup rule of the requested name", - "schema": { - "$ref": "#/definitions/MarkupRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "common-types.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "MarkupRules" - ], - "operationId": "MarkupRules_Delete", - "description": "Delete a markup rule. This will not have an effect on closed month markups", - "externalDocs": { - "url": "https://docs.microsoft.com/rest/api/cost-management/" - }, - "x-ms-examples": { - "PrivateMarkupRulesDelete": { - "$ref": "./examples/markupRules-delete-private.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/billingAccountIdParameter" - }, - { - "$ref": "#/parameters/billingProfileIdParameter" - }, - { - "$ref": "#/parameters/markupRuleNameParameter" - }, - { - "$ref": "common-types.json#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." - }, - "204": { - "description": "NoContent. Resource is not available." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "common-types.json#/definitions/ErrorResponse" - } - } - } - } } }, "definitions": { - "CustomerMetadata": { - "type": "object", - "description": "The customer billing metadata", - "required": [ - "billingAccountId", - "billingProfileId" - ], - "properties": { - "billingAccountId": { - "type": "string", - "description": "Customer billing account id" - }, - "billingProfileId": { - "type": "string", - "description": "Customer billing profile id" - } - } - }, - "MarkupRule": { - "description": "Markup rule", - "type": "object", - "allOf": [ - { - "$ref": "common-types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/MarkupRuleProperties", - "title": "Markup rule properties" - } - } - }, - "MarkupRulePagedResponse": { - "description": "Markup rule list result. It contains a list of Markup rules.", - "type": "object", - "properties": { - "value": { - "description": "The list of markup rules.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/MarkupRule" - } - }, - "nextLink": { - "description": "The link (url) to the next page of results.", - "type": "string", - "readOnly": true - } - } - }, - "MarkupRuleProperties": { - "type": "object", - "description": "The properties of the markup rule.", - "required": [ - "percentage", - "startDate", - "customerDetails" - ], - "properties": { - "description": { - "type": "string", - "description": "The description of the markup rule." - }, - "percentage": { - "format": "double", - "type": "number", - "description": "The markup percentage of the rule." - }, - "startDate": { - "format": "date-time", - "type": "string", - "description": "Starting date of the markup rule." - }, - "endDate": { - "format": "date-time", - "type": "string", - "description": "Ending date of the markup rule." - }, - "customerDetails": { - "$ref": "#/definitions/CustomerMetadata", - "description": "Customer information for the markup rule." - } - } - }, "ReportConfigDefinition": { "description": "The definition of a report config.", "type": "object", @@ -3374,14 +3099,6 @@ } }, "parameters": { - "markupRuleNameParameter": { - "name": "name", - "in": "path", - "description": "Markup rule name.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "viewNameParameter": { "name": "viewName", "in": "path", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/markup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/markup.json new file mode 100644 index 000000000000..81e33da4efac --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-10-05-preview/markup.json @@ -0,0 +1,340 @@ +{ + "swagger": "2.0", + "info": { + "title": "CostManagementClient", + "version": "2022-10-05-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": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/markupRules": { + "get": { + "tags": [ + "MarkupRules" + ], + "operationId": "MarkupRules_List", + "description": "Retrieve all the active markup rules for the partner billing account/billing profile calling the API.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/cost-management/" + }, + "x-ms-examples": { + "PrivateMarkupRulesList": { + "$ref": "./examples/markupRules-list-private.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "common-types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MarkupRulePagedResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common-types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/markupRules/{name}": { + "put": { + "tags": [ + "MarkupRules" + ], + "operationId": "MarkupRules_CreateOrUpdate", + "description": "Create or update a markup rule", + "x-ms-examples": { + "CreateOrUpdatePrivateMarkupRules": { + "$ref": "./examples/markupRules-createOrUpdate-private.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/markupRuleNameParameter" + }, + { + "$ref": "common-types.json#/parameters/apiVersionParameter" + }, + { + "name": "markupRule", + "description": "Markup rule to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MarkupRule" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded. Create or Update request processed successfully", + "schema": { + "$ref": "#/definitions/MarkupRule" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/MarkupRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common-types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "MarkupRules" + ], + "operationId": "MarkupRules_Get", + "description": "Get a markup rule by its rule name.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/cost-management/" + }, + "x-ms-examples": { + "PrivateMarkupRules": { + "$ref": "./examples/markupRules-get-private.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/markupRuleNameParameter" + }, + { + "$ref": "common-types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns markup rule of the requested name", + "schema": { + "$ref": "#/definitions/MarkupRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common-types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "MarkupRules" + ], + "operationId": "MarkupRules_Delete", + "description": "Delete a markup rule. This will not have an effect on closed month markups", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/cost-management/" + }, + "x-ms-examples": { + "PrivateMarkupRulesDelete": { + "$ref": "./examples/markupRules-delete-private.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/markupRuleNameParameter" + }, + { + "$ref": "common-types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common-types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "MarkupRule": { + "description": "Markup rule", + "type": "object", + "allOf": [ + { + "$ref": "common-types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MarkupRuleProperties", + "title": "Markup rule properties" + } + } + }, + "CustomerMetadata": { + "type": "object", + "description": "The customer billing metadata", + "required": [ + "billingAccountId", + "billingProfileId" + ], + "properties": { + "billingAccountId": { + "type": "string", + "description": "Customer billing account id" + }, + "billingProfileId": { + "type": "string", + "description": "Customer billing profile id" + } + } + }, + "MarkupRulePagedResponse": { + "description": "Markup rule list result. It contains a list of Markup rules.", + "type": "object", + "properties": { + "value": { + "description": "The list of markup rules.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MarkupRule" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "MarkupRuleProperties": { + "type": "object", + "description": "The properties of the markup rule.", + "required": [ + "percentage", + "startDate", + "customerDetails" + ], + "properties": { + "description": { + "type": "string", + "description": "The description of the markup rule." + }, + "percentage": { + "format": "double", + "type": "number", + "description": "The markup percentage of the rule." + }, + "startDate": { + "format": "date-time", + "type": "string", + "description": "Starting date of the markup rule." + }, + "endDate": { + "format": "date-time", + "type": "string", + "description": "Ending date of the markup rule." + }, + "customerDetails": { + "$ref": "#/definitions/CustomerMetadata", + "description": "Customer information for the markup rule." + } + } + } + }, + "parameters": { + "markupRuleNameParameter": { + "name": "name", + "in": "path", + "description": "Markup rule name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileIdParameter": { + "name": "billingProfileId", + "in": "path", + "description": "BillingProfile ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.benefits.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.benefits.json index bcdb3ffc697e..50c3c5447bff 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.benefits.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.benefits.json @@ -656,7 +656,7 @@ "tags": [ "BenefitUtilizationSummariesAsync" ], - "operationId": "GenerateBenefitUtilizationSummariesReportAsync_GenerateBySavingsPlanId", + "operationId": "GenerateBenefitUtilizationSummariesReport_GenerateBySavingsPlanId", "description": "Triggers generation of a benefit utilization summaries report for the provided savings plan.", "externalDocs": { "url": "https://docs.microsoft.com/rest/api/cost-management/" diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.generatecostdetailsreport.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.generatecostdetailsreport.json index 9ebe8e113d00..01cac911baee 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.generatecostdetailsreport.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2023-03-01/costmanagement.generatecostdetailsreport.json @@ -397,7 +397,7 @@ "in": "path", "required": true, "type": "string", - "description": "The ARM Resource ID for subscription, resource group, billing account, or other billing scopes. For details, see https://aka.ms/costmgmt/scopes.", + "description": "The ARM Resource ID for subscription, billing account, or other billing scopes.Currently Resource Group and Management Group are not supported. For details, see https://aka.ms/costmgmt/scopes.", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true } diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md index 54bf5ae70cde..a1542434bfdd 100644 --- a/specification/cost-management/resource-manager/readme.md +++ b/specification/cost-management/resource-manager/readme.md @@ -89,6 +89,7 @@ These settings apply only when `--tag=package-preview-2022-10-05` is specified o input-file: - Microsoft.CostManagement/preview/2022-10-05-preview/costmanagement.json - Microsoft.CostManagement/preview/2022-10-05-preview/settings.json + - Microsoft.CostManagement/preview/2022-10-05-preview/markup.json ``` ### Tag: package-preview-2022-10 diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/databoxedge.json new file mode 100644 index 000000000000..a5a27028a2d4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/databoxedge.json @@ -0,0 +1,9750 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01", + "title": "DataBoxEdgeManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBoxEdge/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List all the supported operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of supported operations.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": { + "get": { + "tags": [ + "AvailableSkus" + ], + "summary": "List all the available Skus and information related to them.", + "operationId": "AvailableSkus_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists the available Skus and information related to them.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeSkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkus": { + "$ref": "./examples/AvailableSkusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.", + "operationId": "Devices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetBySubscription": { + "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.", + "operationId": "Devices_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByResourceGroup": { + "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Box Edge/Data Box Gateway device.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByName": { + "$ref": "./examples/DataBoxEdgeDeviceGetByName.json" + }, + "DataBoxEdgeDeviceGetByNameWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "dataBoxEdgeDevice", + "in": "body", + "description": "The resource object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePut": { + "$ref": "./examples/DataBoxEdgeDevicePut.json" + }, + "DataBoxEdgeDevicePutWithDataResidency": { + "$ref": "./examples/DataBoxEdgeDevicePutWithDataResidency.json" + } + } + }, + "delete": { + "tags": [ + "Devices" + ], + "description": "Deletes the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the resource." + }, + "202": { + "description": "Accepted the request to delete the resource." + }, + "204": { + "description": "The resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DataBoxEdgeDeviceDelete": { + "$ref": "./examples/DataBoxEdgeDeviceDelete.json" + } + } + }, + "patch": { + "tags": [ + "Devices" + ], + "description": "Modifies a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_Update", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevicePatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePatch": { + "$ref": "./examples/DataBoxEdgeDevicePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.", + "operationId": "Alerts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of alerts.", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AlertGetAllInDevice": { + "$ref": "./examples/AlertGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Gets an alert by name.", + "operationId": "Alerts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The alert name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The alert details.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AlertGet": { + "$ref": "./examples/AlertGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.", + "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of bandwidth schedules.", + "schema": { + "$ref": "#/definitions/BandwidthSchedulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BandwidthScheduleGetAllInDevice": { + "$ref": "./examples/BandwidthScheduleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets the properties of the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BandwidthScheduleGet": { + "$ref": "./examples/BandwidthScheduleGet.json" + } + } + }, + "put": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Creates or updates a bandwidth schedule.", + "operationId": "BandwidthSchedules_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name which needs to be added/updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The bandwidth schedule to be added or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "202": { + "description": "Accepted the request to create or update the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthSchedulePut": { + "$ref": "./examples/BandwidthSchedulePut.json" + } + } + }, + "delete": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Deletes the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted the request to delete the bandwidth schedule." + }, + "204": { + "description": "Successfully deleted the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthScheduleDelete": { + "$ref": "./examples/BandwidthScheduleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/deviceCapacityCheck": { + "post": { + "tags": [ + "DeviceCapacityCheck" + ], + "description": "Posts the device capacity request info to check feasibility.", + "operationId": "DeviceCapacityCheck_CheckResourceCreationFeasibility", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "deviceCapacityRequestInfo", + "in": "body", + "description": "The device capacity request info.", + "required": true, + "schema": { + "$ref": "#/definitions/DeviceCapacityRequestInfo" + } + }, + { + "name": "capacityName", + "in": "query", + "description": "The capacity name.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted the request to check the feasibility of resource creation." + }, + "200": { + "description": "Successfully checked the feasibility of resource creation." + }, + "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": "azure-async-operation" + }, + "x-ms-examples": { + "DeviceCapacityRequestPost": { + "$ref": "./examples/DeviceCapacityRequestPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/deviceCapacityInfo/default": { + "get": { + "tags": [ + "DeviceCapacityInfo" + ], + "description": "Gets the properties of the specified device capacity info.", + "operationId": "DeviceCapacityInfo_GetDeviceCapacityInfo", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The device capacity info result.", + "schema": { + "$ref": "#/definitions/DeviceCapacityInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeviceCapacityGet": { + "$ref": "./examples/DeviceCapacityGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticProactiveLogCollectionSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "proactiveLogCollectionSettings", + "in": "body", + "description": "The proactive log collection settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the proactive log collection settings.", + "schema": { + "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings" + } + }, + "202": { + "description": "Accepted the request to update the proactive log collection settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticProactiveLogCollectionSettings": { + "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": { + "get": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDiagnosticRemoteSupportSettings": { + "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json" + } + } + }, + "put": { + "tags": [ + "DiagnosticSettings" + ], + "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "diagnosticRemoteSupportSettings", + "in": "body", + "description": "The diagnostic remote support settings.", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the diagnostic remote support settings." + }, + "200": { + "description": "Successfully updated the diagnostic remote support settings.", + "schema": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UpdateDiagnosticRemoteSupportSettings": { + "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_DownloadUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully downloaded the updates on the device." + }, + "202": { + "description": "Accepted the request to download the updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DownloadUpdatesPost": { + "$ref": "./examples/DownloadUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Generates certificate for activation key.", + "operationId": "Devices_GenerateCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generated self signed certificate.", + "schema": { + "$ref": "#/definitions/GenerateCertResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateCertificate": { + "$ref": "./examples/GenerateCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.", + "operationId": "Devices_GetExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExtendedInfoPost": { + "$ref": "./examples/ExtendedInfoPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_InstallUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully installed updates on the device." + }, + "202": { + "description": "Accepted the request to install updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "InstallUpdatesPost": { + "$ref": "./examples/InstallUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "Jobs_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_GetNetworkSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device network settings.", + "schema": { + "$ref": "#/definitions/NetworkSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSettingsGet": { + "$ref": "./examples/NetworkSettingsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": { + "get": { + "tags": [ + "Nodes" + ], + "description": "Gets all the nodes currently configured under this Data Box Edge device", + "operationId": "Nodes_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all nodes on the device.", + "schema": { + "$ref": "#/definitions/NodeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NodesGetAllInDevice": { + "$ref": "./examples/NodeGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": { + "get": { + "tags": [ + "OperationsStatus" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "OperationsStatus_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OperationsStatusGet": { + "$ref": "./examples/OperationsStatusGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.", + "operationId": "Orders_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists all the orders for the Data Box Edge Device", + "schema": { + "$ref": "#/definitions/OrderList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrderGetAllInDevice": { + "$ref": "./examples/OrderGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Gets a specific order by name.", + "operationId": "Orders_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The order details of a device.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OrderGet": { + "$ref": "./examples/OrderGet.json" + } + } + }, + "put": { + "tags": [ + "Orders" + ], + "summary": "Creates or updates an order.", + "operationId": "Orders_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The order details of a device.", + "required": true, + "type": "string" + }, + { + "name": "order", + "in": "body", + "description": "The order to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/Order" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the order.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "202": { + "description": "Accepted the request to create or update the order." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderPut": { + "$ref": "./examples/OrderPut.json" + } + } + }, + "delete": { + "tags": [ + "Orders" + ], + "summary": "Deletes the order related to the device.", + "operationId": "Orders_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the order." + }, + "202": { + "description": "Accepted the request to delete the order." + }, + "204": { + "description": "The order is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderDelete": { + "$ref": "./examples/OrderDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": { + "post": { + "tags": [ + "Orders" + ], + "summary": "Gets the DCAccess Code", + "operationId": "Orders_ListDCAccessCode", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "DC Access code for the device", + "schema": { + "$ref": "#/definitions/DCAccessCode" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetDCAccessCode": { + "$ref": "./examples/GetDCAccessCode.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": { + "get": { + "tags": [ + "Roles" + ], + "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.", + "operationId": "Roles_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the roles configured in the device.", + "schema": { + "$ref": "#/definitions/RoleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleGetAllInDevice": { + "$ref": "./examples/RoleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": { + "get": { + "tags": [ + "Roles" + ], + "description": "Gets a specific role by name.", + "operationId": "Roles_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The role with the specified name in the given device.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RoleGet": { + "$ref": "./examples/RoleGet.json" + } + } + }, + "put": { + "tags": [ + "Roles" + ], + "description": "Create or update a role.", + "operationId": "Roles_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "role", + "in": "body", + "description": "The role properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the role.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "202": { + "description": "Accepted the request to create or update the role." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RolePut": { + "$ref": "./examples/RolePut.json" + } + } + }, + "delete": { + "tags": [ + "Roles" + ], + "description": "Deletes the role on the device.", + "operationId": "Roles_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the role." + }, + "202": { + "description": "Accepted the request to delete the role." + }, + "204": { + "description": "The role is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RoleDelete": { + "$ref": "./examples/RoleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": { + "get": { + "tags": [ + "Addons" + ], + "description": "Lists all the addons configured in the role.", + "operationId": "Addons_ListByRole", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the addons configured in the role.", + "schema": { + "$ref": "#/definitions/AddonList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleListAddOns": { + "$ref": "./examples/RoleListAddOns.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": { + "get": { + "tags": [ + "Addons" + ], + "description": "Gets a specific addon by name.", + "operationId": "Addons_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The addon with the specified name in the role.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetAddOns": { + "$ref": "./examples/GetAddons.json" + } + } + }, + "put": { + "tags": [ + "Addons" + ], + "description": "Create or update a addon.", + "operationId": "Addons_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "name": "addon", + "in": "body", + "description": "The addon properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Addon" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the addon.", + "schema": { + "$ref": "#/definitions/Addon" + } + }, + "202": { + "description": "Accepted the request to create or update the addon." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutAddOns": { + "$ref": "./examples/PutAddons.json" + } + } + }, + "delete": { + "tags": [ + "Addons" + ], + "description": "Deletes the addon on the device.", + "operationId": "Addons_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "addonName", + "in": "path", + "description": "The addon name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the addon." + }, + "202": { + "description": "Accepted the request to delete the addon." + }, + "204": { + "description": "The addon is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteAddOns": { + "$ref": "./examples/DeleteAddons.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Lists metric configurations in a role.", + "operationId": "MonitoringConfig_List", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListMonitoringConfig": { + "$ref": "./examples/ListMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": { + "get": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Gets a metric configuration of a role.", + "operationId": "MonitoringConfig_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The monitoring config details.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetMonitoringConfig": { + "$ref": "./examples/GetMonitoringConfig.json" + } + } + }, + "put": { + "tags": [ + "MonitoringConfig" + ], + "summary": "Creates a new metric configuration or updates an existing one for a role.", + "operationId": "MonitoringConfig_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "monitoringMetricConfiguration", + "in": "body", + "description": "The metric configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the metrics configuration.", + "schema": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + } + }, + "202": { + "description": "Accepted the request to create or update the metrics configuration." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PutMonitoringConfig": { + "$ref": "./examples/PutMonitoringConfig.json" + } + } + }, + "delete": { + "tags": [ + "MonitoringConfig" + ], + "summary": "deletes a new metric configuration for a role.", + "operationId": "MonitoringConfig_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "roleName", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the metrics configuration." + }, + "202": { + "description": "Accepted the request to delete the metrics configuration." + }, + "204": { + "description": "The metrics configuration is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DeleteMonitoringConfig": { + "$ref": "./examples/DeleteMonitoringConfig.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_ScanForUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully scanned the device for updates." + }, + "202": { + "description": "Accepted the request to scan for updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ScanForUpdatesPost": { + "$ref": "./examples/ScanForUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": { + "post": { + "tags": [ + "Devices" + ], + "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_CreateOrUpdateSecuritySettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "securitySettings", + "in": "body", + "description": "The security settings.", + "required": true, + "schema": { + "$ref": "#/definitions/SecuritySettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the security settings." + }, + "204": { + "description": "Updated the security settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrUpdateSecuritySettings": { + "$ref": "./examples/SecuritySettingsUpdatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the shares on the device.", + "schema": { + "$ref": "#/definitions/ShareList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ShareGetAllInDevice": { + "$ref": "./examples/ShareGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Gets a share by name.", + "operationId": "Shares_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The share details.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ShareGet": { + "$ref": "./examples/ShareGet.json" + } + } + }, + "put": { + "tags": [ + "Shares" + ], + "summary": "Creates a new share or updates an existing share on the device.", + "operationId": "Shares_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "name": "share", + "in": "body", + "description": "The share properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Share" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the share.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "202": { + "description": "Accepted the request to create or update the share." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SharePut": { + "$ref": "./examples/SharePut.json" + } + } + }, + "delete": { + "tags": [ + "Shares" + ], + "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the share." + }, + "202": { + "description": "Accepted the request to delete the share." + }, + "204": { + "description": "The share is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareDelete": { + "$ref": "./examples/ShareDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": { + "post": { + "tags": [ + "Shares" + ], + "summary": "Refreshes the share metadata with the data from the cloud.", + "operationId": "Shares_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the share on the device." + }, + "202": { + "description": "Accepted the request to refresh the share on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareRefreshPost": { + "$ref": "./examples/ShareRefreshPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of storage account credentials.", + "schema": { + "$ref": "#/definitions/StorageAccountCredentialList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SACGetAllInDevice": { + "$ref": "./examples/SACGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Gets the properties of the specified storage account credential.", + "operationId": "StorageAccountCredentials_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account credential properties.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SACGet": { + "$ref": "./examples/SACGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Creates or updates the storage account credential.", + "operationId": "StorageAccountCredentials_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountCredential", + "in": "body", + "description": "The storage account credential.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the storage account credential.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "202": { + "description": "Accepted the request to create or update the storage account credential." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACPut": { + "$ref": "./examples/SACPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Deletes the storage account credential.", + "operationId": "StorageAccountCredentials_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the storage account credential." + }, + "202": { + "description": "Accepted the request to delete the storage account credential." + }, + "204": { + "description": "The storage account credential is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACDelete": { + "$ref": "./examples/SACDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the StorageAccounts on the device.", + "schema": { + "$ref": "#/definitions/StorageAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "StorageAccountGetAllInDevice": { + "$ref": "./examples/StorageAccountGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Gets a StorageAccount by name.", + "operationId": "StorageAccounts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account details.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageAccountGet": { + "$ref": "./examples/StorageAccountGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccounts" + ], + "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.", + "operationId": "StorageAccounts_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccount", + "in": "body", + "description": "The StorageAccount properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the StorageAccount.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted the request to create or update the StorageAccount." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountPut": { + "$ref": "./examples/StorageAccountPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the StorageAccount." + }, + "204": { + "description": "The StorageAccount is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_ListByStorageAccount", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage Account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the containers on the device.", + "schema": { + "$ref": "#/definitions/ContainerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerListAllInDevice": { + "$ref": "./examples/ContainerListAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Gets a container by name.", + "operationId": "Containers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The container details.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ContainerGet": { + "$ref": "./examples/ContainerGet.json" + } + } + }, + "put": { + "tags": [ + "Containers" + ], + "summary": "Creates a new container or updates an existing container on the device.", + "operationId": "Containers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "name": "container", + "in": "body", + "description": "The container properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the container.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "202": { + "description": "Accepted the request to create or update the container." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerPut": { + "$ref": "./examples/ContainerPut.json" + } + } + }, + "delete": { + "tags": [ + "Containers" + ], + "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the container." + }, + "204": { + "description": "The container is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerDelete": { + "$ref": "./examples/ContainerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": { + "post": { + "tags": [ + "Containers" + ], + "summary": "Refreshes the container metadata with the data from the cloud.", + "operationId": "Containers_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the container on the device." + }, + "202": { + "description": "Accepted the request to refresh the container on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerRefresh": { + "$ref": "./examples/ContainerRefresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Lists all the triggers configured in the device.", + "operationId": "Triggers_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List all the triggers configured in the device", + "schema": { + "$ref": "#/definitions/TriggerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TriggerGetAllInDevice": { + "$ref": "./examples/TriggerGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Get a specific trigger by name.", + "operationId": "Triggers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "TriggerGet": { + "$ref": "./examples/TriggerGet.json" + } + } + }, + "put": { + "tags": [ + "Triggers" + ], + "description": "Creates or updates a trigger.", + "operationId": "Triggers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "Creates or updates a trigger", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "name": "trigger", + "in": "body", + "description": "The trigger.", + "required": true, + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "202": { + "description": "Accepted the request to create or update the trigger." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerPut": { + "$ref": "./examples/TriggerPut.json" + } + } + }, + "delete": { + "tags": [ + "Triggers" + ], + "description": "Deletes the trigger on the gateway device.", + "operationId": "Triggers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the trigger." + }, + "202": { + "description": "Accepted the request to delete the trigger." + }, + "204": { + "description": "The trigger is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerDelete": { + "$ref": "./examples/TriggerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggerSupportPackage": { + "post": { + "tags": [ + "SupportPackages" + ], + "summary": "Triggers support package on the device", + "operationId": "SupportPackages_TriggerSupportPackage", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "triggerSupportPackageRequest", + "in": "body", + "description": "The trigger support package request object", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerSupportPackageRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully triggered support package on the device." + }, + "202": { + "description": "Accepted the request to trigger support package on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerSupportPackage": { + "$ref": "./examples/TriggerSupportPackage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_UpdateExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The patch object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Modify additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetUpdateExtendedInfo": { + "$ref": "./examples/GetUpdateExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": { + "get": { + "tags": [ + "Devices" + ], + "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.", + "operationId": "Devices_GetUpdateSummary", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The update summary.", + "schema": { + "$ref": "#/definitions/UpdateSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateSummaryGet": { + "$ref": "./examples/UpdateSummaryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Uploads registration certificate for the device.", + "operationId": "Devices_UploadCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The upload certificate request.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadCertificateRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully uploaded the registration certificate.", + "schema": { + "$ref": "#/definitions/UploadCertificateResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UploadCertificatePost": { + "$ref": "./examples/UploadCertificatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='Type eq ' to filter on user type property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of all users on the device.", + "schema": { + "$ref": "#/definitions/UserList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UserGetAllInDevice": { + "$ref": "./examples/UserGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets the properties of the specified user.", + "operationId": "Users_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The user details.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UserGet": { + "$ref": "./examples/UserGet.json" + } + } + }, + "put": { + "tags": [ + "Users" + ], + "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The user details.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "Accepted the request to create or update the user." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserPut": { + "$ref": "./examples/UserPut.json" + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Deletes the user on a databox edge/gateway device.", + "operationId": "Users_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the user." + }, + "202": { + "description": "Accepted the request to delete the user." + }, + "204": { + "description": "The user is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserDelete": { + "$ref": "./examples/UserDelete.json" + } + } + } + } + }, + "definitions": { + "Addon": { + "description": "Role Addon", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Addon type.", + "enum": [ + "IotEdge", + "ArcForKubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "AddonType", + "modelAsString": true + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Addon", + "readOnly": true + } + }, + "discriminator": "kind" + }, + "AddonList": { + "description": "Collection of all the Role addon on the Azure Stack Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Addon" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Address": { + "description": "The shipping address of the customer.", + "required": [ + "country" + ], + "type": "object", + "properties": { + "addressLine1": { + "description": "The address line1.", + "type": "string" + }, + "addressLine2": { + "description": "The address line2.", + "type": "string" + }, + "addressLine3": { + "description": "The address line3.", + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "type": "string" + }, + "city": { + "description": "The city name.", + "type": "string" + }, + "state": { + "description": "The state name.", + "type": "string" + }, + "country": { + "description": "The country name.", + "type": "string" + } + } + }, + "Alert": { + "description": "Alert on the data box edge/gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Properties of alert.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Alert", + "readOnly": true + } + } + }, + "AlertErrorDetails": { + "description": "Error details for the alert.", + "type": "object", + "properties": { + "errorCode": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error Message.", + "type": "string", + "readOnly": true + }, + "occurrences": { + "format": "int32", + "description": "Number of occurrences.", + "type": "integer", + "readOnly": true + } + } + }, + "AlertList": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertProperties": { + "description": "Properties of alert.", + "type": "object", + "properties": { + "title": { + "description": "Alert title.", + "type": "string", + "readOnly": true + }, + "alertType": { + "description": "Alert type.", + "type": "string", + "readOnly": true + }, + "appearedAtDateTime": { + "format": "date-time", + "description": "UTC time when the alert appeared.", + "type": "string", + "readOnly": true + }, + "recommendation": { + "description": "Alert recommendation.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity of the alert.", + "enum": [ + "Informational", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "errorDetails": { + "$ref": "#/definitions/AlertErrorDetails", + "description": "Error details of the alert.", + "readOnly": true + }, + "detailedInformation": { + "description": "Alert details.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ArcAddon": { + "description": "Arc Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArcAddonProperties", + "description": "Properties specific to Arc addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "ArcForKubernetes" + }, + "ArcAddonProperties": { + "description": "Arc addon properties.", + "required": [ + "subscriptionId", + "resourceGroupName", + "resourceName", + "resourceLocation" + ], + "type": "object", + "properties": { + "subscriptionId": { + "description": "Arc resource subscription Id", + "type": "string" + }, + "resourceGroupName": { + "description": "Arc resource group name", + "type": "string" + }, + "resourceName": { + "description": "Arc resource Name", + "type": "string" + }, + "resourceLocation": { + "description": "Arc resource location", + "type": "string" + }, + "version": { + "description": "Arc resource version", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the Arc addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "ARMBaseModel": { + "description": "Represents the base class for all object models.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "AsymmetricEncryptedSecret": { + "description": "Represent the secrets intended for encryption with asymmetric key pair.", + "required": [ + "value", + "encryptionAlgorithm" + ], + "type": "object", + "properties": { + "value": { + "description": "The value of the secret.", + "type": "string" + }, + "encryptionCertThumbprint": { + "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.", + "x-ms-secret": true, + "type": "string" + }, + "encryptionAlgorithm": { + "description": "The algorithm used to encrypt \"Value\".", + "enum": [ + "None", + "AES256", + "RSAES_PKCS1_v_1_5" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAlgorithm", + "modelAsString": true + } + } + } + }, + "Authentication": { + "description": "Authentication mechanism for IoT devices.", + "type": "object", + "properties": { + "symmetricKey": { + "$ref": "#/definitions/SymmetricKey", + "description": "Symmetric key for authentication." + } + } + }, + "AzureContainerInfo": { + "description": "Azure container mapping of the endpoint.", + "required": [ + "storageAccountCredentialId", + "containerName", + "dataFormat" + ], + "type": "object", + "properties": { + "storageAccountCredentialId": { + "description": "ID of the storage account credential used to access storage.", + "type": "string" + }, + "containerName": { + "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).", + "type": "string" + }, + "dataFormat": { + "description": "Storage format used for the file represented by the share.", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + } + } + }, + "BandwidthSchedule": { + "description": "The bandwidth schedule details.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BandwidthScheduleProperties", + "description": "The properties of the bandwidth schedule.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of BandwidthSchedule", + "readOnly": true + } + } + }, + "BandwidthScheduleProperties": { + "description": "The properties of the bandwidth schedule.", + "required": [ + "start", + "stop", + "rateInMbps", + "days" + ], + "type": "object", + "properties": { + "start": { + "description": "The start time of the schedule in UTC.", + "type": "string" + }, + "stop": { + "description": "The stop time of the schedule in UTC.", + "type": "string" + }, + "rateInMbps": { + "format": "int32", + "description": "The bandwidth rate in Mbps.", + "type": "integer" + }, + "days": { + "description": "The days of the week when this schedule is applicable.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + }, + "x-ms-identifiers": [] + } + } + } + }, + "BandwidthSchedulesList": { + "description": "The collection of bandwidth schedules.", + "type": "object", + "properties": { + "value": { + "description": "The list of bandwidth schedules.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BandwidthSchedule" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ClientAccessRight": { + "description": "The mapping between a particular client IP and the type of access client has on the NFS share.", + "required": [ + "client", + "accessPermission" + ], + "type": "object", + "properties": { + "client": { + "description": "IP of the client.", + "type": "string" + }, + "accessPermission": { + "description": "Type of access to be allowed for the client.", + "enum": [ + "NoAccess", + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientPermissionType", + "modelAsString": true + } + } + } + }, + "CloudEdgeManagementRole": { + "description": "The preview of Virtual Machine Cloud Management from the Azure supports deploying and managing VMs on your Azure Stack Edge device from Azure Portal. \r\nFor more information, refer to: https://docs.microsoft.com/en-us/azure/databox-online/azure-stack-edge-gpu-virtual-machine-overview\r\nBy using this feature, you agree to the preview legal terms. See the https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/ for additional details.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CloudEdgeManagementRoleProperties", + "description": "Properties specific to CloudEdgeManagementRole role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "CloudEdgeManagement" + }, + "CloudEdgeManagementRoleProperties": { + "description": "CloudEdgeManagement Role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "localManagementStatus": { + "description": "Local Edge Management Status", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "Edge Profile of the resource", + "readOnly": true + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The error details." + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "type": "object", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-external": true + }, + "ClusterCapacityViewData": { + "description": "Cluster Compute Data.", + "type": "object", + "properties": { + "fqdn": { + "description": "The FQDN of the cluster.", + "type": "string" + }, + "gpuCapacity": { + "$ref": "#/definitions/ClusterGpuCapacity", + "description": "The cluster's GPU capacity." + }, + "memoryCapacity": { + "$ref": "#/definitions/ClusterMemoryCapacity", + "description": "The cluster's memory capacity." + }, + "lastRefreshedTime": { + "format": "date-time", + "description": "The last time at which the ClusterCapacityViewData was set.", + "type": "string" + }, + "totalProvisionedNonHpnCores": { + "format": "int64", + "description": "The total # of vCPUs provisioned by non-HPN VM per appliance.", + "type": "integer" + } + } + }, + "ClusterGpuCapacity": { + "description": "Cluster GPU Data.", + "type": "object", + "properties": { + "gpuType": { + "description": "The cluster GPU Type.", + "type": "string" + }, + "gpuUsedUnitsCount": { + "format": "int32", + "description": "The used GPU units count in the cluster.", + "type": "integer" + }, + "gpuFreeUnitsCount": { + "format": "int32", + "description": "The free GPU units count in the cluster.", + "type": "integer" + }, + "gpuReservedForFailoverUnitsCount": { + "format": "int32", + "description": "The GPU units count reserved for failover in the cluster.", + "type": "integer" + }, + "gpuTotalUnitsCount": { + "format": "int32", + "description": "The total GPU units count in the cluster.", + "type": "integer" + } + } + }, + "ClusterMemoryCapacity": { + "description": "NodeCapacityInfo defines the required information to determine the placement of a VM.", + "type": "object", + "properties": { + "clusterFreeMemoryMb": { + "format": "double", + "description": "The free memory in the cluster in MB.", + "type": "number" + }, + "clusterUsedMemoryMb": { + "format": "double", + "description": "The used memory in the cluster in MB.", + "type": "number" + }, + "clusterFailoverMemoryMb": { + "format": "double", + "description": "The failover memory in the cluster in MB.", + "type": "number" + }, + "clusterFragmentationMemoryMb": { + "format": "double", + "description": "The fragmentation memory in the cluster in MB.", + "type": "number" + }, + "clusterHypervReserveMemoryMb": { + "format": "double", + "description": "The memory reserved for Hyper-V in the cluster in MB.", + "type": "number" + }, + "clusterInfraVmMemoryMb": { + "format": "double", + "description": "The memory of the Infra VM in the cluster in MB.", + "type": "number" + }, + "clusterTotalMemoryMb": { + "format": "double", + "description": "The total memory in the cluster in MB.", + "type": "number" + }, + "clusterNonFailoverVmMb": { + "format": "double", + "description": "The non-failover memory in the cluster in MB.", + "type": "number" + }, + "clusterMemoryUsedByVmsMb": { + "format": "double", + "description": "The memory used by VMs in the cluster in MB.", + "type": "number" + } + } + }, + "ClusterStorageViewData": { + "description": "Cluster Storage Data.", + "type": "object", + "properties": { + "clusterTotalStorageMb": { + "format": "double", + "description": "Total storage on the cluster in MB.", + "type": "number" + }, + "clusterFreeStorageMb": { + "format": "double", + "description": "The available or free storage on the cluster in MB.", + "type": "number" + } + } + }, + "CniConfig": { + "description": "Cni configuration", + "type": "object", + "properties": { + "type": { + "description": "Cni type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Cni version", + "type": "string", + "readOnly": true + }, + "podSubnet": { + "description": "Pod Subnet", + "type": "string", + "readOnly": true + }, + "serviceSubnet": { + "description": "Service subnet", + "type": "string", + "readOnly": true + } + } + }, + "ComputeResource": { + "description": "Compute infrastructure Resource", + "required": [ + "processorCount", + "memoryInGB" + ], + "type": "object", + "properties": { + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer" + }, + "memoryInGB": { + "format": "int64", + "description": "Memory in GB", + "type": "integer" + } + } + }, + "ContactDetails": { + "description": "Contains all the contact details of the customer.", + "required": [ + "contactPerson", + "companyName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactPerson": { + "description": "The contact person name.", + "type": "string" + }, + "companyName": { + "description": "The name of the company.", + "type": "string" + }, + "phone": { + "description": "The phone number.", + "type": "string" + }, + "emailList": { + "description": "The email list.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "Container": { + "description": "Represents a container on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "description": "The container properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Container", + "readOnly": true + } + } + }, + "ContainerList": { + "description": "Collection of all the containers on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of containers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ContainerProperties": { + "description": "The container properties.", + "required": [ + "dataFormat" + ], + "type": "object", + "properties": { + "containerStatus": { + "description": "Current status of the container.", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerStatus", + "modelAsString": true + } + }, + "dataFormat": { + "description": "DataFormat for Container", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this container.", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The UTC time when container got created.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevice": { + "description": "The Data Box Edge/Gateway device.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "location": { + "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU type." + }, + "etag": { + "description": "The etag for the devices.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "kind": { + "description": "The kind of the device.", + "enum": [ + "AzureDataBoxGateway", + "AzureStackEdge", + "AzureStackHub", + "AzureModularDataCentre" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataBoxEdgeDeviceKind", + "modelAsString": true + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "DataBoxEdge Resource", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceProperties", + "description": "The properties of the Data Box Edge/Gateway device.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfo": { + "description": "The extended Info of the Data Box Edge/Gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties", + "description": "The extended info properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of DataBoxEdgeDevice", + "readOnly": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfoPatch": { + "description": "The Data Box Edge/Gateway device extended info patch.", + "type": "object", + "properties": { + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name for Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "syncStatus": { + "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + } + } + }, + "DataBoxEdgeDeviceExtendedInfoProperties": { + "description": "The properties of the Data Box Edge/Gateway device extended info.", + "type": "object", + "properties": { + "encryptionKeyThumbprint": { + "description": "The digital signature of encrypted certificate.", + "type": "string" + }, + "encryptionKey": { + "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.", + "type": "string" + }, + "resourceKey": { + "description": "The Resource ID of the Resource.", + "type": "string", + "readOnly": true + }, + "clientSecretStoreId": { + "description": "The Key Vault ARM Id for client secrets", + "type": "string" + }, + "clientSecretStoreUrl": { + "description": "The url to access the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyName": { + "description": "The name of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "channelIntegrityKeyVersion": { + "description": "The version of Channel Integrity Key stored in the Client Key Vault", + "type": "string" + }, + "keyVaultSyncStatus": { + "description": "Key vault sync status", + "enum": [ + "KeyVaultSynced", + "KeyVaultSyncFailed", + "KeyVaultNotConfigured", + "KeyVaultSyncPending", + "KeyVaultSyncing", + "KeyVaultNotSynced" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyVaultSyncStatus", + "modelAsString": true + } + }, + "deviceSecrets": { + "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Secret" + }, + "readOnly": true + }, + "clusterWitnessType": { + "description": "Cluster Witness Type", + "enum": [ + "None", + "Cloud", + "FileShare" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClusterWitnessType", + "modelAsString": true + } + }, + "fileShareWitnessLocation": { + "description": "The witness location of file share.", + "type": "string", + "readOnly": true + }, + "fileShareWitnessUsername": { + "description": "The username of file share.", + "type": "string", + "readOnly": true + }, + "cloudWitnessStorageAccountName": { + "description": "The Cloud Witness Storage account name.", + "type": "string", + "readOnly": true + }, + "cloudWitnessContainerName": { + "description": "The Container for cloud witness in the storage account.", + "type": "string", + "readOnly": true + }, + "cloudWitnessStorageEndpoint": { + "description": "The Azure service endpoint of the cloud witness storage account.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDeviceList": { + "description": "The collection of Data Box Edge/Gateway devices.", + "type": "object", + "properties": { + "value": { + "description": "The list of Data Box Edge/Gateway devices.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeDevice" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevicePatch": { + "description": "The Data Box Edge/Gateway device patch.", + "type": "object", + "properties": { + "tags": { + "description": "The tags attached to the Data Box Edge/Gateway resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch", + "description": "The properties associated with the Data Box Edge/Gateway resource", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceProperties": { + "description": "The properties of the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "DataBoxEdge Device Properties", + "readOnly": true + }, + "dataBoxEdgeDeviceStatus": { + "description": "The status of the Data Box Edge/Gateway device.", + "enum": [ + "ReadyToSetup", + "Online", + "Offline", + "NeedsAttention", + "Disconnected", + "PartiallyDisconnected", + "Maintenance" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataBoxEdgeDeviceStatus", + "modelAsString": true + } + }, + "serialNumber": { + "description": "The Serial Number of Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The Description of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "modelDescription": { + "description": "The description of the Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceType": { + "description": "The type of the Data Box Edge/Gateway device.", + "enum": [ + "DataBoxEdgeDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "The Data Box Edge/Gateway device name.", + "type": "string", + "readOnly": true + }, + "culture": { + "description": "The Data Box Edge/Gateway device culture.", + "type": "string", + "readOnly": true + }, + "deviceModel": { + "description": "The Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceSoftwareVersion": { + "description": "The Data Box Edge/Gateway device software version.", + "type": "string", + "readOnly": true + }, + "deviceLocalCapacity": { + "format": "int64", + "description": "The Data Box Edge/Gateway device local capacity in MB.", + "type": "integer", + "readOnly": true + }, + "timeZone": { + "description": "The Data Box Edge/Gateway device timezone.", + "type": "string", + "readOnly": true + }, + "deviceHcsVersion": { + "description": "The device software version number of the device (eg: 1.2.18105.6).", + "type": "string", + "readOnly": true + }, + "configuredRoleTypes": { + "description": "Type of compute roles configured.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + }, + "x-ms-identifiers": [] + }, + "readOnly": true + }, + "nodeCount": { + "format": "int32", + "description": "The number of nodes in the cluster.", + "type": "integer", + "readOnly": true + }, + "resourceMoveDetails": { + "$ref": "#/definitions/ResourceMoveDetails", + "description": "The details of the move operation on this resource.", + "readOnly": true + }, + "edgeProfile": { + "$ref": "#/definitions/EdgeProfile", + "description": "The details of Edge Profile for this resource", + "readOnly": true + }, + "dataResidency": { + "$ref": "#/definitions/DataResidency", + "description": "The details of data-residency related properties for this resource" + }, + "kubernetesWorkloadProfile": { + "description": "Kubernetes Workload Profile", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevicePropertiesPatch": { + "description": "The Data Box Edge/Gateway device properties patch.", + "type": "object", + "properties": { + "edgeProfile": { + "$ref": "#/definitions/EdgeProfilePatch", + "description": "Edge Profile property of the Data Box Edge/Gateway device" + } + } + }, + "DataBoxEdgeMoveRequest": { + "description": "Resource Move details", + "required": [ + "targetResourceGroup", + "resources" + ], + "type": "object", + "properties": { + "targetResourceGroup": { + "description": "Target resource group ARMId", + "type": "string" + }, + "resources": { + "description": "List of resources to be moved", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "DataBoxEdgeSku": { + "description": "The Sku information.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Sku name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management", + "EP2_64_Mx1_W", + "EP2_128_GPU1_Mx1_W", + "EP2_256_GPU2_Mx1", + "EdgeMR_TCP" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "kind": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The Sku tier.", + "enum": [ + "Standard" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "size": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "Availability of the Sku for the region.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "apiVersions": { + "description": "The API versions in which Sku is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "locationInfo": { + "description": "Availability of the Sku for the location/zone/site.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "x-ms-identifiers": [ + "location" + ], + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "x-ms-identifiers": [ + "meterId" + ], + "readOnly": true + }, + "signupOption": { + "description": "Sku can be signed up by customer or not.", + "enum": [ + "None", + "Available" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuSignupOption", + "modelAsString": true + } + }, + "version": { + "description": "Availability of the Sku as preview/stable.", + "enum": [ + "Stable", + "Preview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuVersion", + "modelAsString": true + } + }, + "availability": { + "description": "Links to the next set of results", + "enum": [ + "Available", + "Unavailable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuAvailability", + "modelAsString": true + } + }, + "shipmentTypes": { + "description": "List of Shipment Types supported by this SKU", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "capabilities": { + "description": "The capability info of the SKU.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + } + } + }, + "DataBoxEdgeSkuList": { + "description": "List of SKU Information objects.", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeSku" + }, + "x-ms-identifiers": [ + "name", + "resourceType" + ], + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "DataResidency": { + "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.", + "type": "object", + "properties": { + "type": { + "description": "DataResidencyType enum", + "enum": [ + "GeoZoneReplication", + "ZoneReplication" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyType", + "modelAsString": true + } + } + } + }, + "DCAccessCode": { + "description": "DC Access code in the case of Self Managed Shipping.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DCAccessCodeProperties", + "description": "DCAccessCode properties.", + "x-ms-client-flatten": true + } + } + }, + "DCAccessCodeProperties": { + "description": "DCAccessCode Properties.", + "type": "object", + "properties": { + "authCode": { + "description": "DCAccess Code for the Self Managed shipment.", + "type": "string" + } + } + }, + "DeviceCapacityInfo": { + "description": "Object for Capturing DeviceCapacityInfo", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeviceCapacityInfoProperties", + "description": "The device capacity properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to device capacity info.", + "readOnly": true + } + } + }, + "DeviceCapacityInfoProperties": { + "description": "The properties of Device Capacity Info", + "type": "object", + "properties": { + "timeStamp": { + "format": "date-time", + "description": "Timestamp of request in UTC", + "type": "string" + }, + "clusterStorageCapacityInfo": { + "$ref": "#/definitions/ClusterStorageViewData", + "description": "Cluster capacity data for storage resources (CSV)." + }, + "clusterComputeCapacityInfo": { + "$ref": "#/definitions/ClusterCapacityViewData", + "description": "Cluster capacity data for compute resources (Memory and GPU)." + }, + "nodeCapacityInfos": { + "description": "The dictionary of individual node names and node capacities in the cluster.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/HostCapacity" + } + } + } + }, + "DeviceCapacityRequestInfo": { + "description": "Object for Capturing DeviceCapacityRequestInfo", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DeviceCapacityRequestInfoProperties", + "description": "The properties of the Device Capacity Request.", + "x-ms-client-flatten": true + } + } + }, + "DeviceCapacityRequestInfoProperties": { + "description": "Properties of Device Capacity Request Info containing VM's to be checked and their corresponding results.", + "required": [ + "vmPlacementQuery" + ], + "type": "object", + "properties": { + "vmPlacementQuery": { + "description": "Array containing the sizes of the VMs for checking if its feasible to create them on the appliance.", + "uniqueItems": false, + "type": "array", + "items": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "x-ms-identifiers": [] + }, + "vmPlacementResults": { + "description": "Array of the VMs of the sizes in VmSizes can be provisioned on the appliance.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/VmPlacementRequestResult" + }, + "x-ms-identifiers": [] + } + } + }, + "DiagnosticProactiveLogCollectionSettings": { + "description": "The diagnostic proactive log collection settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties", + "description": "Properties of the diagnostic proactive log collection settings.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of DiagnosticProactiveLogCollectionSettings", + "readOnly": true + } + } + }, + "DiagnosticRemoteSupportSettings": { + "description": "The remote support settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties", + "description": "Properties of the remote support settings.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Represents resource creation and updation time", + "readOnly": true + } + } + }, + "DiagnosticRemoteSupportSettingsProperties": { + "description": "The properties of remote support settings.", + "type": "object", + "properties": { + "remoteSupportSettingsList": { + "description": "Remote support settings list according to the RemoteApplicationType", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/RemoteSupportSettings" + }, + "x-ms-identifiers": [ + "remoteApplicationType" + ] + } + } + }, + "EdgeProfile": { + "description": "Details about Edge Profile for the resource", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscription", + "description": "Edge Profile Subscription" + } + } + }, + "EdgeProfilePatch": { + "description": "The Data Box Edge/Gateway Edge Profile patch.", + "type": "object", + "properties": { + "subscription": { + "$ref": "#/definitions/EdgeProfileSubscriptionPatch", + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch" + } + } + }, + "EdgeProfileSubscription": { + "description": "Subscription details for the Edge Profile", + "type": "object", + "properties": { + "registrationId": { + "description": "Edge Subscription Registration ID", + "type": "string" + }, + "id": { + "description": "ARM ID of the subscription", + "type": "string" + }, + "state": { + "enum": [ + "Registered", + "Warned", + "Suspended", + "Deleted", + "Unregistered" + ], + "type": "string", + "x-ms-enum": { + "name": "SubscriptionState", + "modelAsString": true + } + }, + "registrationDate": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SubscriptionProperties", + "x-ms-client-flatten": true + } + } + }, + "EdgeProfileSubscriptionPatch": { + "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the subscription of the edge profile.", + "type": "string" + } + } + }, + "EtcdInfo": { + "description": "Etcd configuration", + "type": "object", + "properties": { + "type": { + "description": "Etcd type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Etcd version", + "type": "string", + "readOnly": true + } + } + }, + "FileEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FileTriggerProperties", + "description": "File trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "FileEvent" + }, + "FileSourceInfo": { + "description": "File source details.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "File share ID.", + "type": "string" + } + } + }, + "FileTriggerProperties": { + "description": "File trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/FileSourceInfo", + "description": "File event source details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role sink info." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "GenerateCertResponse": { + "description": "Used in activation key generation flow.", + "type": "object", + "properties": { + "publicKey": { + "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault", + "type": "string" + }, + "privateKey": { + "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key", + "type": "string", + "x-ms-secret": true + }, + "expiryTimeInUTC": { + "description": "Gets or sets expiry time in UTC", + "type": "string" + } + } + }, + "HostCapacity": { + "description": "Host Capacity Data.", + "type": "object", + "properties": { + "hostName": { + "description": "The name of the host.", + "type": "string" + }, + "effectiveAvailableMemoryMbOnHost": { + "format": "int64", + "description": "The available memory on the host accounting for VM placement size and any host VM reservations.", + "type": "integer" + }, + "availableGpuCount": { + "format": "int32", + "description": "The available amount of GPUs on the host to use after accounting for GPUS used by reservations on the host.", + "type": "integer" + }, + "vmUsedMemory": { + "description": "The VM used memory per VmId.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/VmMemory" + } + }, + "gpuType": { + "description": "The GPU type of the VM.", + "type": "string" + }, + "numaNodesData": { + "description": "The numa nodes information for Hpn VMs.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NumaNodeData" + }, + "x-ms-identifiers": [] + } + } + }, + "ImageRepositoryCredential": { + "description": "Image repository credential.", + "required": [ + "imageRepositoryUrl", + "userName" + ], + "type": "object", + "properties": { + "imageRepositoryUrl": { + "description": "Image repository url (e.g.: mcr.microsoft.com).", + "type": "string" + }, + "userName": { + "description": "Repository user name.", + "type": "string" + }, + "password": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Repository user password." + } + } + }, + "IoTAddon": { + "description": "IoT Addon.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Addon" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTAddonProperties", + "description": "Properties specific to IOT addon.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IotEdge" + }, + "IoTAddonProperties": { + "description": "IoT addon properties.", + "required": [ + "ioTDeviceDetails", + "ioTEdgeDeviceDetails" + ], + "type": "object", + "properties": { + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which appliance needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT Addon needs to be configured." + }, + "version": { + "description": "Version of IoT running on the appliance.", + "type": "string", + "readOnly": true + }, + "hostPlatform": { + "description": "Host OS supported by the IoT addon.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Addon Provisioning State", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddonState", + "modelAsString": true + } + } + } + }, + "IoTDeviceInfo": { + "description": "Metadata of IoT device/IoT Edge device to be configured.", + "required": [ + "deviceId", + "ioTHostHub" + ], + "type": "object", + "properties": { + "deviceId": { + "description": "ID of the IoT device/edge device.", + "type": "string" + }, + "ioTHostHub": { + "description": "Host name for the IoT hub associated to the device.", + "type": "string" + }, + "ioTHostHubId": { + "description": "Id for the IoT hub associated to the device.", + "type": "string" + }, + "authentication": { + "$ref": "#/definitions/Authentication", + "description": "Encrypted IoT device/IoT edge device connection string." + } + } + }, + "IoTEdgeAgentInfo": { + "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.", + "required": [ + "imageName", + "tag" + ], + "type": "object", + "properties": { + "imageName": { + "description": "Name of the IoT edge agent image.", + "type": "string" + }, + "tag": { + "description": "Image Tag.", + "type": "string" + }, + "imageRepository": { + "$ref": "#/definitions/ImageRepositoryCredential", + "description": "Image repository details." + } + } + }, + "IoTRole": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTRoleProperties", + "description": "Properties specific to IoT role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IOT" + }, + "IoTRoleProperties": { + "description": "IoT role properties.", + "required": [ + "hostPlatform", + "ioTDeviceDetails", + "ioTEdgeDeviceDetails", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the IoT role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which data box edge device needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT role needs to be configured." + }, + "shareMappings": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "x-ms-identifiers": [ + "shareId" + ] + }, + "ioTEdgeAgentInfo": { + "$ref": "#/definitions/IoTEdgeAgentInfo", + "description": "Iot edge agent details to download the agent and bootstrap iot runtime." + }, + "hostPlatformType": { + "description": "Platform where the Iot runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "computeResource": { + "$ref": "#/definitions/ComputeResource", + "description": "Resource allocation" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "Ipv4Config": { + "description": "Details related to the IPv4 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv4 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "The IPv4 subnet of the network adapter.", + "type": "string", + "readOnly": true + }, + "gateway": { + "description": "The IPv4 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Ipv6Config": { + "description": "Details related to the IPv6 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv6 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "prefixLength": { + "format": "int32", + "description": "The IPv6 prefix of the network adapter.", + "type": "integer", + "readOnly": true + }, + "gateway": { + "description": "The IPv6 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Job": { + "description": "A device job.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the job that is complete.", + "type": "integer", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/JobErrorDetails", + "description": "The error details.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The properties of the job.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "JobErrorDetails": { + "description": "The job error information containing the list of job errors.", + "type": "object", + "properties": { + "errorDetails": { + "description": "The error details.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorItem" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobErrorItem": { + "description": "The job error items.", + "type": "object", + "properties": { + "recommendations": { + "description": "The recommended actions.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "The properties for the job.", + "type": "object", + "properties": { + "jobType": { + "description": "The type of the job.", + "enum": [ + "Invalid", + "ScanForUpdates", + "DownloadUpdates", + "InstallUpdates", + "RefreshShare", + "RefreshContainer", + "Backup", + "Restore", + "TriggerSupportPackage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "currentStage": { + "description": "Current stage of the update operation.", + "enum": [ + "Unknown", + "Initial", + "ScanStarted", + "ScanComplete", + "ScanFailed", + "DownloadStarted", + "DownloadComplete", + "DownloadFailed", + "InstallStarted", + "InstallComplete", + "InstallFailed", + "RebootInitiated", + "Success", + "Failure", + "RescanStarted", + "RescanComplete", + "RescanFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperationStage", + "modelAsString": true + } + }, + "downloadProgress": { + "$ref": "#/definitions/UpdateDownloadProgress", + "description": "The download progress.", + "readOnly": true + }, + "installProgress": { + "$ref": "#/definitions/UpdateInstallProgress", + "description": "The install progress.", + "readOnly": true + }, + "totalRefreshErrors": { + "format": "int32", + "description": "Total number of errors encountered during the refresh process.", + "type": "integer", + "readOnly": true + }, + "errorManifestFile": { + "description": "Local share/remote container relative path to the error manifest file of the refresh.", + "type": "string", + "readOnly": true + }, + "refreshedEntityId": { + "description": "ARM ID of the entity that was refreshed.", + "type": "string", + "readOnly": true + }, + "folder": { + "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)", + "type": "string" + } + } + }, + "KubernetesClusterInfo": { + "description": "Kubernetes cluster configuration", + "required": [ + "version" + ], + "type": "object", + "properties": { + "etcdInfo": { + "$ref": "#/definitions/EtcdInfo", + "description": "Etcd configuration", + "readOnly": true + }, + "nodes": { + "description": "Kubernetes cluster nodes", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NodeInfo" + }, + "x-ms-identifiers": [ + "name", + "type" + ], + "readOnly": true + }, + "version": { + "description": "Kubernetes cluster version", + "type": "string" + } + } + }, + "KubernetesIPConfiguration": { + "description": "Kubernetes node IP configuration", + "type": "object", + "properties": { + "port": { + "description": "Port of the Kubernetes node.", + "type": "string", + "readOnly": true + }, + "ipAddress": { + "description": "IP address of the Kubernetes node.", + "type": "string" + } + } + }, + "KubernetesRole": { + "description": "The limited preview of Kubernetes Cluster Management from the Azure supports:\r\n1. Using a simple turn-key option in Azure Portal, deploy a Kubernetes cluster on your Azure Stack Edge device. \r\n2. Configure Kubernetes cluster running on your device with Arc enabled Kubernetes with a click of a button in the Azure Portal. \r\n Azure Arc enables organizations to view, manage, and govern their on-premises Kubernetes clusters using the Azure Portal, command line tools, and APIs.\r\n3. Easily configure Persistent Volumes using SMB and NFS shares for storing container data. \r\n For more information, refer to the document here: https://databoxupdatepackages.blob.core.windows.net/documentation/Microsoft-Azure-Stack-Edge-K8-Cloud-Management-20210323.pdf \r\n Or Demo: https://databoxupdatepackages.blob.core.windows.net/documentation/Microsoft-Azure-Stack-Edge-K8S-Cloud-Management-20210323.mp4\r\n By using this feature, you agree to the preview legal terms. See the https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KubernetesRoleProperties", + "description": "Properties specific to Kubernetes role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "Kubernetes" + }, + "KubernetesRoleCompute": { + "description": "Kubernetes role compute resource", + "required": [ + "vmProfile" + ], + "type": "object", + "properties": { + "vmProfile": { + "description": "VM profile", + "type": "string" + }, + "memoryInBytes": { + "format": "int64", + "description": "Memory in bytes", + "type": "integer", + "readOnly": true + }, + "processorCount": { + "format": "int32", + "description": "Processor count", + "type": "integer", + "readOnly": true + } + } + }, + "KubernetesRoleNetwork": { + "description": "Kubernetes role network resource", + "type": "object", + "properties": { + "cniConfig": { + "$ref": "#/definitions/CniConfig", + "description": "Cni configuration", + "readOnly": true + }, + "loadBalancerConfig": { + "$ref": "#/definitions/LoadBalancerConfig", + "description": "Load balancer configuration", + "readOnly": true + } + } + }, + "KubernetesRoleProperties": { + "description": "Kubernetes role properties.", + "required": [ + "hostPlatform", + "kubernetesClusterInfo", + "kubernetesRoleResources", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the Kubernetes role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "State of Kubernetes deployment", + "enum": [ + "Invalid", + "Creating", + "Created", + "Updating", + "Reconfiguring", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesState", + "modelAsString": true + } + }, + "hostPlatformType": { + "description": "Platform where the runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "kubernetesClusterInfo": { + "$ref": "#/definitions/KubernetesClusterInfo", + "description": "Kubernetes cluster configuration" + }, + "kubernetesRoleResources": { + "$ref": "#/definitions/KubernetesRoleResources", + "description": "Kubernetes role resources" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "KubernetesRoleResources": { + "description": "Kubernetes role resources", + "required": [ + "compute" + ], + "type": "object", + "properties": { + "storage": { + "$ref": "#/definitions/KubernetesRoleStorage", + "description": "Kubernetes role storage resource" + }, + "compute": { + "$ref": "#/definitions/KubernetesRoleCompute", + "description": "Kubernetes role compute resource" + }, + "network": { + "$ref": "#/definitions/KubernetesRoleNetwork", + "description": "Kubernetes role network resource", + "readOnly": true + } + } + }, + "KubernetesRoleStorage": { + "description": "Kubernetes role storage resource", + "type": "object", + "properties": { + "storageClasses": { + "description": "Kubernetes storage class info.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesRoleStorageClassInfo" + }, + "x-ms-identifiers": [ + "name", + "type" + ], + "readOnly": true + }, + "endpoints": { + "description": "Mount points of shares in role(s).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "x-ms-identifiers": [ + "shareId" + ] + } + } + }, + "KubernetesRoleStorageClassInfo": { + "description": "Kubernetes storage class info.", + "type": "object", + "properties": { + "name": { + "description": "Storage class name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Storage class type.", + "type": "string", + "readOnly": true + }, + "posixCompliant": { + "description": "If provisioned storage is posix compliant.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PosixComplianceStatus", + "modelAsString": true + } + } + } + }, + "LoadBalancerConfig": { + "description": "Load balancer configuration", + "type": "object", + "properties": { + "type": { + "description": "Load balancer type", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Load balancer version", + "type": "string", + "readOnly": true + } + } + }, + "MECRole": { + "description": "MEC role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MECRoleProperties", + "description": "Properties specific to MEC role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "MEC" + }, + "MECRoleProperties": { + "description": "MEC role properties.", + "required": [ + "roleStatus" + ], + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Activation key of the MEC." + }, + "controllerEndpoint": { + "description": "Controller Endpoint.", + "type": "string" + }, + "resourceUniqueId": { + "description": "Unique Id of the Resource.", + "type": "string" + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "MetricConfiguration": { + "description": "Metric configuration.", + "required": [ + "resourceId", + "counterSets" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "The Resource ID on which the metrics should be pushed.", + "type": "string" + }, + "mdmAccount": { + "description": "The MDM account to which the counters should be pushed.", + "type": "string" + }, + "metricNameSpace": { + "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified", + "type": "string" + }, + "counterSets": { + "description": "Host name for the IoT hub associated to the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounterSet" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricCounter": { + "description": "The metric counter", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The counter name.", + "type": "string" + }, + "instance": { + "description": "The instance from which counter should be collected.", + "type": "string" + }, + "dimensionFilter": { + "description": "The dimension filter.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "x-ms-identifiers": [ + "sourceName" + ] + }, + "additionalDimensions": { + "description": "The additional dimensions to be added to metric.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "x-ms-identifiers": [ + "sourceName" + ] + } + } + }, + "MetricCounterSet": { + "description": "The metric counter set", + "required": [ + "counters" + ], + "type": "object", + "properties": { + "counters": { + "description": "The counters that should be collected in this set.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricCounter" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "MetricDimension": { + "description": "The metric dimension", + "required": [ + "sourceType", + "sourceName" + ], + "type": "object", + "properties": { + "sourceType": { + "description": "The dimension type.", + "type": "string" + }, + "sourceName": { + "description": "The dimension value.", + "type": "string" + } + } + }, + "MetricDimension_V1": { + "description": "Metric Dimension v1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metrics dimension.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metrics dimension.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + }, + "MetricSpecification_V1": { + "description": "Metric specification version 1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Description of the metric to be displayed.", + "type": "string" + }, + "unit": { + "description": "Metric units.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } + }, + "aggregationType": { + "description": "Metric aggregation type.", + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + }, + "dimensions": { + "description": "Metric dimensions, other than default dimension which is resource.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension_V1" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "fillGapWithZero": { + "description": "Set true to fill the gaps with zero.", + "type": "boolean" + }, + "category": { + "description": "Metric category.", + "enum": [ + "Capacity", + "Transaction" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricCategory", + "modelAsString": true + } + }, + "resourceIdDimensionNameOverride": { + "description": "Resource name override.", + "type": "string" + }, + "supportedTimeGrainTypes": { + "description": "Support granularity of metrics.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "PT1D" + ], + "type": "string", + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true + } + } + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + } + } + }, + "MonitoringMetricConfiguration": { + "description": "The metric setting details for the role", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MonitoringMetricConfigurationProperties", + "description": "The metric setting properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of MonitoringConfiguration", + "readOnly": true + } + } + }, + "MonitoringMetricConfigurationList": { + "description": "Collection of metric configurations.", + "type": "object", + "properties": { + "value": { + "description": "The list of metric configurations.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MonitoringMetricConfiguration" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "MonitoringMetricConfigurationProperties": { + "description": "Metrics properties", + "required": [ + "metricConfigurations" + ], + "type": "object", + "properties": { + "metricConfigurations": { + "description": "The metrics configuration details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "MountPointMap": { + "description": "The share mount point.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "ID of the share mounted to the role VM.", + "type": "string" + }, + "roleId": { + "description": "ID of the role to which share is mounted.", + "type": "string", + "readOnly": true + }, + "mountPoint": { + "description": "Mount point for the share.", + "type": "string", + "readOnly": true + }, + "mountType": { + "description": "Mounting type.", + "enum": [ + "Volume", + "HostPath" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MountType", + "modelAsString": true + } + }, + "roleType": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + } + } + }, + "NetworkAdapter": { + "description": "Represents the networkAdapter on a device.", + "type": "object", + "properties": { + "adapterId": { + "description": "Instance ID of network adapter.", + "type": "string", + "readOnly": true + }, + "adapterPosition": { + "$ref": "#/definitions/NetworkAdapterPosition", + "description": "Hardware position of network adapter.", + "readOnly": true + }, + "index": { + "format": "int32", + "description": "Logical index of the adapter.", + "type": "integer", + "readOnly": true + }, + "nodeId": { + "description": "Node ID of the network adapter.", + "type": "string", + "readOnly": true + }, + "networkAdapterName": { + "description": "Network adapter name.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Hardware label for the adapter.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "MAC address.", + "type": "string", + "readOnly": true + }, + "linkSpeed": { + "format": "int64", + "description": "Link speed.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "Value indicating whether this adapter is valid.", + "enum": [ + "Inactive", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkAdapterStatus", + "modelAsString": true + } + }, + "rdmaStatus": { + "description": "Value indicating whether this adapter is RDMA capable.", + "enum": [ + "Incapable", + "Capable" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterRDMAStatus", + "modelAsString": true + } + }, + "dhcpStatus": { + "description": "Value indicating whether this adapter has DHCP enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterDHCPStatus", + "modelAsString": true + } + }, + "ipv4Configuration": { + "$ref": "#/definitions/Ipv4Config", + "description": "The IPv4 configuration of the network adapter.", + "readOnly": true + }, + "ipv6Configuration": { + "$ref": "#/definitions/Ipv6Config", + "description": "The IPv6 configuration of the network adapter.", + "readOnly": true + }, + "ipv6LinkLocalAddress": { + "description": "The IPv6 local address.", + "type": "string", + "readOnly": true + }, + "dnsServers": { + "description": "The list of DNS Servers of the device.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "NetworkAdapterPosition": { + "description": "The network adapter position.", + "type": "object", + "properties": { + "networkGroup": { + "description": "The network group.", + "enum": [ + "None", + "NonRDMA", + "RDMA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkGroup", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "The port.", + "type": "integer", + "readOnly": true + } + } + }, + "NetworkSettings": { + "description": "The network settings of a device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkSettingsProperties", + "description": "The properties of network settings of a device.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of NetworkSettings", + "readOnly": true + } + } + }, + "NetworkSettingsProperties": { + "description": "The properties of network settings.", + "type": "object", + "properties": { + "networkAdapters": { + "description": "The network adapter list on the device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAdapter" + }, + "x-ms-identifiers": [ + "adapterId" + ], + "readOnly": true + } + } + }, + "Node": { + "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NodeProperties", + "description": "The properties of the node", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NodeInfo": { + "description": "Kubernetes node info", + "type": "object", + "properties": { + "name": { + "description": "Node name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Node type - Master/Worker", + "enum": [ + "Invalid", + "Master", + "Worker" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubernetesNodeType", + "modelAsString": true + } + }, + "ipConfiguration": { + "description": "IP Configuration of the Kubernetes node.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesIPConfiguration" + }, + "x-ms-identifiers": [ + "ipAddress", + "port" + ] + } + } + }, + "NodeList": { + "description": "Collection of Nodes.", + "type": "object", + "properties": { + "value": { + "description": "The list of Nodes.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Node" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "NodeProperties": { + "description": "This class represents the nodes in a highly available cluster", + "type": "object", + "properties": { + "nodeStatus": { + "description": "The current status of the individual node", + "enum": [ + "Unknown", + "Up", + "Down", + "Rebooting", + "ShuttingDown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "nodeChassisSerialNumber": { + "description": "Serial number of the Chassis", + "type": "string", + "readOnly": true + }, + "nodeSerialNumber": { + "description": "Serial number of the individual node", + "type": "string", + "readOnly": true + }, + "nodeDisplayName": { + "description": "Display Name of the individual node", + "type": "string", + "readOnly": true + }, + "nodeFriendlySoftwareVersion": { + "description": "Friendly software version name that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeHcsVersion": { + "description": "HCS version that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeInstanceId": { + "description": "Guid instance id of the node", + "type": "string", + "readOnly": true + } + } + }, + "NumaNodeData": { + "description": "NUMA node data.", + "type": "object", + "properties": { + "numaNodeIndex": { + "format": "int32", + "description": "The NUMA node index.", + "type": "integer" + }, + "totalMemoryInMb": { + "format": "int64", + "description": "The total memory on the NUMA node.", + "type": "integer" + }, + "logicalCoreCountPerCore": { + "format": "int32", + "description": "The logical cores per core count.", + "type": "integer" + }, + "effectiveAvailableMemoryInMb": { + "format": "int64", + "description": "The effective available memory on the NUMA node in MB.", + "type": "integer" + }, + "freeVCpuIndexesForHpn": { + "description": "The free VCPU indices for the Hpn VMs.", + "uniqueItems": false, + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "vCpuIndexesForHpn": { + "description": "The VCPU indices for Hpn VMs", + "uniqueItems": false, + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "vCpuIndexesForRoot": { + "description": "The VCPU indices for the root.", + "uniqueItems": false, + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + } + } + }, + "Operation": { + "description": "Operations.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "Is data action.", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Properties displayed for the operation." + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display properties.", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "The type of resource in which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation to be performed on the resource.", + "type": "string" + }, + "description": { + "description": "Description of the operation to be performed.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification." + } + } + }, + "OperationsList": { + "description": "The list of operations used for the discovery of available provider operations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string" + } + } + }, + "Order": { + "description": "The order details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "It specify the order api version.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Order", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "The order properties.", + "x-ms-client-flatten": true + } + } + }, + "OrderList": { + "description": "List of order entities.", + "type": "object", + "properties": { + "value": { + "description": "The list of orders.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Order" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "OrderProperties": { + "description": "Order properties.", + "type": "object", + "required": [ + "contactInformation" + ], + "properties": { + "orderId": { + "description": "It specify the order resource id.", + "type": "string", + "readOnly": true + }, + "contactInformation": { + "$ref": "#/definitions/ContactDetails", + "description": "The contact details." + }, + "shippingAddress": { + "$ref": "#/definitions/Address", + "description": "The shipping address." + }, + "currentStatus": { + "$ref": "#/definitions/OrderStatus", + "description": "Current status of the order.", + "readOnly": true + }, + "orderHistory": { + "description": "List of status changes in the order.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OrderStatus" + }, + "x-ms-identifiers": [ + "trackingInformation/serialNumber" + ], + "readOnly": true + }, + "serialNumber": { + "description": "Serial number of the device.", + "type": "string", + "readOnly": true + }, + "deliveryTrackingInfo": { + "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "x-ms-identifiers": [ + "serialNumber" + ], + "readOnly": true + }, + "returnTrackingInfo": { + "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "x-ms-identifiers": [ + "serialNumber" + ], + "readOnly": true + }, + "shipmentType": { + "description": "ShipmentType of the order", + "enum": [ + "NotApplicable", + "ShippedToCustomer", + "SelfPickup" + ], + "type": "string", + "x-ms-enum": { + "name": "ShipmentType", + "modelAsString": true + } + } + } + }, + "OrderStatus": { + "description": "Represents a single status change.", + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Status of the order as per the allowed status types.", + "enum": [ + "Untracked", + "AwaitingFulfillment", + "AwaitingPreparation", + "AwaitingShipment", + "Shipped", + "Arriving", + "Delivered", + "ReplacementRequested", + "LostDevice", + "Declined", + "ReturnInitiated", + "AwaitingReturnShipment", + "ShippedBack", + "CollectedAtMicrosoft", + "AwaitingPickup", + "PickupCompleted", + "AwaitingDrop" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderState", + "modelAsString": true + } + }, + "updateDateTime": { + "format": "date-time", + "description": "Time of status update.", + "type": "string", + "readOnly": true + }, + "comments": { + "description": "Comments related to this status change.", + "type": "string" + }, + "trackingInformation": { + "$ref": "#/definitions/TrackingInfo", + "description": "Tracking information related to the state in the ordering flow", + "readOnly": true + }, + "additionalOrderDetails": { + "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PeriodicTimerEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeriodicTimerProperties", + "description": "Periodic timer trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "PeriodicTimerEvent" + }, + "PeriodicTimerProperties": { + "description": "Periodic timer trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/PeriodicTimerSourceInfo", + "description": "Periodic timer details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role Sink information." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "maxLength": 192, + "type": "string" + } + } + }, + "PeriodicTimerSourceInfo": { + "description": "Periodic timer event source.", + "required": [ + "startTime", + "schedule" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.", + "type": "string" + }, + "schedule": { + "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.", + "type": "string" + }, + "topic": { + "description": "Topic where periodic events are published to IoT device.", + "type": "string" + } + } + }, + "ProactiveLogCollectionSettingsProperties": { + "description": "The properties of proactive log collection settings.", + "required": [ + "userConsent" + ], + "type": "object", + "properties": { + "userConsent": { + "description": "Proactive diagnostic collection consent flag", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ProactiveDiagnosticsConsent", + "modelAsString": true + } + } + } + }, + "RawCertificateData": { + "description": "Raw Certificate Data.", + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "certificate": { + "description": "The base64 encoded certificate raw data.", + "type": "string" + } + } + }, + "RefreshDetails": { + "description": "Fields for tracking refresh job on the share or container.", + "type": "object", + "properties": { + "inProgressRefreshJobId": { + "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.", + "type": "string" + }, + "lastCompletedRefreshJobTimeInUTC": { + "format": "date-time", + "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.", + "type": "string" + }, + "errorManifestFile": { + "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.", + "type": "string" + }, + "lastJob": { + "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.", + "type": "string" + } + } + }, + "RemoteSupportSettings": { + "description": "RemoteApplicationType for which remote support settings is being modified", + "type": "object", + "properties": { + "remoteApplicationType": { + "description": "Remote application type", + "enum": [ + "Powershell", + "WAC", + "LocalUI", + "AllApplications" + ], + "type": "string", + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + } + }, + "accessLevel": { + "description": "Access level allowed for this remote application type", + "enum": [ + "None", + "ReadOnly", + "ReadWrite", + "FullAccess" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "expirationTimeStampInUTC": { + "format": "date-time", + "description": "Expiration time stamp", + "type": "string" + } + } + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "MsiIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMoveDetails": { + "description": "Fields for tracking resource move", + "type": "object", + "properties": { + "operationInProgress": { + "description": "Denotes whether move operation is in progress", + "enum": [ + "None", + "ResourceMoveInProgress", + "ResourceMoveFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceMoveStatus", + "modelAsString": true + } + }, + "operationInProgressLockTimeoutInUTC": { + "format": "date-time", + "description": "Denotes the timeout of the operation to finish", + "type": "string" + } + } + }, + "Role": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive", + "MEC", + "CloudEdgeManagement", + "Kubernetes" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Role", + "readOnly": true + } + }, + "discriminator": "kind" + }, + "RoleList": { + "description": "Collection of all the roles on the Data Box Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "RoleSinkInfo": { + "description": "Compute role against which events will be raised.", + "required": [ + "roleId" + ], + "type": "object", + "properties": { + "roleId": { + "description": "Compute role ID.", + "type": "string" + } + } + }, + "Secret": { + "description": "Holds device secret either as a KeyVault reference or as an encrypted value.", + "type": "object", + "properties": { + "encryptedSecret": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted (using device public key) secret value." + }, + "keyVaultId": { + "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).", + "type": "string" + } + } + }, + "SecuritySettings": { + "description": "The security settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecuritySettingsProperties", + "description": "Properties of the security settings.", + "x-ms-client-flatten": true + } + } + }, + "SecuritySettingsProperties": { + "description": "The properties of security settings.", + "required": [ + "deviceAdminPassword" + ], + "type": "object", + "properties": { + "deviceAdminPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters." + } + } + }, + "ServiceSpecification": { + "description": "Service specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Metric specification as defined by shoebox.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification_V1" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Share": { + "description": "Represents a share on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ShareProperties", + "description": "The share properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Share", + "readOnly": true + } + } + }, + "ShareAccessRight": { + "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.", + "required": [ + "shareId", + "accessType" + ], + "type": "object", + "properties": { + "shareId": { + "description": "The share ID.", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed on the share for this user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "ShareList": { + "description": "Collection of all the shares on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of shares.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Share" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ShareProperties": { + "description": "The share properties.", + "required": [ + "shareStatus", + "monitoringStatus", + "accessProtocol" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the share.", + "type": "string" + }, + "shareStatus": { + "description": "Current status of the share.", + "enum": [ + "Offline", + "Unknown", + "OK", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareStatus", + "modelAsString": true + } + }, + "monitoringStatus": { + "description": "Current monitoring status of the share.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MonitoringStatus", + "modelAsString": true + } + }, + "azureContainerInfo": { + "$ref": "#/definitions/AzureContainerInfo", + "description": "Azure container mapping for the share." + }, + "accessProtocol": { + "description": "Access protocol to be used by the share.", + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessProtocol", + "modelAsString": true + } + }, + "userAccessRights": { + "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UserAccessRight" + }, + "x-ms-identifiers": [ + "userId" + ] + }, + "clientAccessRights": { + "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ClientAccessRight" + }, + "x-ms-identifiers": [ + "client" + ] + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this share." + }, + "shareMappings": { + "description": "Share mount point to the role.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "x-ms-identifiers": [ + "shareId" + ], + "readOnly": true + }, + "dataPolicy": { + "description": "Data policy of the share.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + } + } + }, + "Sku": { + "description": "The SKU type.", + "type": "object", + "properties": { + "name": { + "description": "SKU name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Small", + "GPU", + "TCA_Large", + "EdgeP_Base", + "EdgeP_High", + "EdgePR_Base", + "EdgePR_Base_UPS", + "EP2_64_1VPU_W", + "EP2_128_1T4_Mx1_W", + "EP2_256_2T4_W", + "EdgeMR_Mini", + "RCA_Small", + "RCA_Large", + "RDC", + "Management", + "EP2_64_Mx1_W", + "EP2_128_GPU1_Mx1_W", + "EP2_256_GPU2_Mx1", + "EdgeMR_TCP" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "SkuCapability": { + "description": "The metadata to describe the capability.", + "type": "object", + "properties": { + "name": { + "description": "An invariant to describe the feature.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "An invariant if the feature is measured by quantity.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "The metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Used for querying price from commerce.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The cost quantity.", + "type": "integer", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "SkuLocationInfo": { + "description": "The location info.", + "type": "object", + "properties": { + "location": { + "description": "The location.", + "type": "string", + "readOnly": true + }, + "zones": { + "description": "The zones.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "sites": { + "description": "The sites.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "StorageAccount": { + "description": "Represents a Storage Account on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageAccountProperties", + "description": "The Storage Account properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of StorageAccount", + "readOnly": true + } + } + }, + "StorageAccountCredential": { + "description": "The storage account credential.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageAccountCredentialProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of StorageAccountCredential", + "readOnly": true + } + } + }, + "StorageAccountCredentialList": { + "description": "The collection of storage account credentials.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountCredential" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountCredentialProperties": { + "description": "The storage account credential properties.", + "required": [ + "alias", + "sslStatus", + "accountType" + ], + "type": "object", + "properties": { + "alias": { + "description": "Alias for the storage account.", + "type": "string" + }, + "userName": { + "description": "Username for the storage account.", + "type": "string" + }, + "accountKey": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted storage key." + }, + "connectionString": { + "description": "Connection string for the storage account. Use this string if username and account key are not specified.", + "type": "string" + }, + "sslStatus": { + "description": "Signifies whether SSL needs to be enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SSLStatus", + "modelAsString": true + } + }, + "blobDomainName": { + "description": "Blob end point for private clouds.", + "type": "string" + }, + "accountType": { + "description": "Type of storage accessed on the storage account.", + "enum": [ + "GeneralPurposeStorage", + "BlobStorage" + ], + "type": "string", + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "storageAccountId": { + "description": "Id of the storage account.", + "type": "string" + } + } + }, + "StorageAccountList": { + "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of storageAccounts.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The storage account properties.", + "required": [ + "dataPolicy" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the storage Account.", + "type": "string" + }, + "storageAccountStatus": { + "description": "Current status of the storage account", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountStatus", + "modelAsString": true + } + }, + "dataPolicy": { + "description": "Data policy of the storage Account.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + }, + "storageAccountCredentialId": { + "description": "Storage Account Credential Id", + "type": "string" + }, + "blobEndpoint": { + "description": "BlobEndpoint of Storage Account", + "type": "string", + "readOnly": true + }, + "containerCount": { + "format": "int32", + "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.", + "type": "integer", + "readOnly": true + } + } + }, + "SubscriptionProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string" + }, + "locationPlacementId": { + "type": "string" + }, + "quotaId": { + "type": "string" + }, + "serializedDetails": { + "type": "string" + }, + "registeredFeatures": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionRegisteredFeatures" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "SubscriptionRegisteredFeatures": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "SupportPackageRequestProperties": { + "description": "The share properties.", + "type": "object", + "properties": { + "minimumTimeStamp": { + "format": "date-time", + "description": "MinimumTimeStamp from where logs need to be collected", + "type": "string" + }, + "maximumTimeStamp": { + "format": "date-time", + "description": "Start of the timespan of the log collection", + "type": "string" + }, + "include": { + "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required", + "type": "string" + } + } + }, + "SymmetricKey": { + "description": "Symmetric key for authentication.", + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Connection string based on the symmetric key." + } + } + }, + "TrackingInfo": { + "description": "Tracking courier information.", + "type": "object", + "properties": { + "serialNumber": { + "description": "Serial number of the device being tracked.", + "type": "string" + }, + "carrierName": { + "description": "Name of the carrier used in the delivery.", + "type": "string" + }, + "trackingId": { + "description": "Tracking ID of the shipment.", + "type": "string" + }, + "trackingUrl": { + "description": "Tracking URL of the shipment.", + "type": "string" + } + } + }, + "Trigger": { + "description": "Trigger details.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Trigger Kind.", + "enum": [ + "FileEvent", + "PeriodicTimerEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerEventType", + "modelAsString": true + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of Trigger", + "readOnly": true + } + }, + "discriminator": "kind" + }, + "TriggerList": { + "description": "Collection of all trigger on the data box edge device.", + "type": "object", + "properties": { + "value": { + "description": "The list of triggers.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "TriggerSupportPackageRequest": { + "description": "The request object for trigger support package.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportPackageRequestProperties", + "description": "The TriggerSupportPackageRequest properties.", + "x-ms-client-flatten": true + } + } + }, + "UpdateDetails": { + "description": "Update Specific attributes", + "type": "object", + "properties": { + "updateTitle": { + "description": "Title of the Update", + "type": "string" + }, + "updateSize": { + "format": "double", + "description": "Size of the update(In Bytes)", + "type": "number" + }, + "updateType": { + "description": "Type of the Update", + "enum": [ + "Software", + "Kubernetes", + "Firmware" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateType", + "modelAsString": true + } + }, + "targetVersion": { + "description": "Target Version number", + "type": "string" + }, + "friendlyVersionNumber": { + "description": "Friendly Version Number", + "type": "string" + }, + "estimatedInstallTimeInMins": { + "format": "int32", + "description": "Estimated Install Time for the update", + "type": "integer" + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "installationImpact": { + "description": "Impact of Installing an updateType", + "enum": [ + "None", + "DeviceRebooted", + "KubernetesWorkloadsDown" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallationImpact", + "modelAsString": true + } + }, + "status": { + "description": "Status of the update.", + "enum": [ + "DownloadPending", + "DownloadStarted", + "DownloadCompleted", + "InstallStarted", + "InstallCompleted" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + } + } + }, + "UpdateDownloadProgress": { + "description": "Details about the download progress of update.", + "type": "object", + "properties": { + "downloadPhase": { + "description": "The download phase.", + "enum": [ + "Unknown", + "Initializing", + "Downloading", + "Verifying" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DownloadPhase", + "modelAsString": true + } + }, + "percentComplete": { + "format": "int32", + "description": "Percentage of completion.", + "type": "integer", + "readOnly": true + }, + "totalBytesToDownload": { + "format": "double", + "description": "Total bytes to download.", + "type": "number", + "readOnly": true + }, + "totalBytesDownloaded": { + "format": "double", + "description": "Total bytes downloaded.", + "type": "number", + "readOnly": true + }, + "numberOfUpdatesToDownload": { + "format": "int32", + "description": "Number of updates to download.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesDownloaded": { + "format": "int32", + "description": "Number of updates downloaded.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateInstallProgress": { + "description": "Progress details during installation of updates.", + "type": "object", + "properties": { + "percentComplete": { + "format": "int32", + "description": "Percentage completed.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesToInstall": { + "format": "int32", + "description": "Number of updates to install.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesInstalled": { + "format": "int32", + "description": "Number of updates installed.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateSummary": { + "description": "Details about ongoing updates and availability of updates on the device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UpdateSummaryProperties", + "description": "The device update information summary.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of UpdateSummary", + "readOnly": true + } + } + }, + "UpdateSummaryProperties": { + "description": "The device update information summary.", + "type": "object", + "properties": { + "deviceVersionNumber": { + "description": "The current version of the device in format: 1.2.17312.13.\",", + "type": "string" + }, + "friendlyDeviceVersionName": { + "description": "The current version of the device in text format.", + "type": "string" + }, + "deviceLastScannedDateTime": { + "format": "date-time", + "description": "The last time when a scan was done on the device.", + "type": "string" + }, + "lastCompletedScanJobDateTime": { + "format": "date-time", + "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.", + "type": "string" + }, + "lastSuccessfulScanJobTime": { + "format": "date-time", + "description": "Time when the last scan job is successfully completed.", + "type": "string" + }, + "lastCompletedDownloadJobDateTime": { + "format": "date-time", + "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedDownloadJobId": { + "description": "JobId of the last ran download job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastDownloadJobStatus": { + "description": "JobStatus of the last ran download job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "lastSuccessfulInstallJobDateTime": { + "format": "date-time", + "description": "The time when the Last Install job was completed successfully on the appliance", + "type": "string" + }, + "lastCompletedInstallJobDateTime": { + "format": "date-time", + "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedInstallJobId": { + "description": "JobId of the last ran install job.(Can be success/cancelled/failed)", + "type": "string", + "readOnly": true + }, + "lastInstallJobStatus": { + "description": "JobStatus of the last ran install job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "totalNumberOfUpdatesAvailable": { + "format": "int32", + "description": "The number of updates available for the current device version as per the last device scan.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingDownload": { + "format": "int32", + "description": "The total number of items pending download.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingInstall": { + "format": "int32", + "description": "The total number of items pending install.", + "type": "integer", + "readOnly": true + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "ongoingUpdateOperation": { + "description": "The current update operation.", + "enum": [ + "None", + "Scan", + "Download", + "Install" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperation", + "modelAsString": true + } + }, + "inProgressDownloadJobId": { + "description": "The job ID of the download job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobId": { + "description": "The job ID of the install job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressDownloadJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running download (if any) started.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running install (if any) started.", + "type": "string", + "readOnly": true + }, + "updateTitles": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "updates": { + "description": "The list of updates available for install.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDetails" + }, + "x-ms-identifiers": [ + "updateTitle" + ], + "readOnly": true + }, + "totalUpdateSizeInBytes": { + "format": "double", + "description": "The total size of updates available for download in bytes.", + "type": "number", + "readOnly": true + }, + "totalTimeInMinutes": { + "format": "int32", + "description": "The total time in Minutes", + "type": "integer", + "readOnly": true + } + } + }, + "UploadCertificateRequest": { + "description": "The upload certificate request.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData", + "description": "The Base 64 encoded certificate raw data.", + "x-ms-client-flatten": true + } + } + }, + "UploadCertificateResponse": { + "description": "The upload registration certificate response.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "resourceId": { + "description": "The resource ID of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "aadAuthority": { + "description": "Azure Active Directory tenant authority.", + "type": "string", + "readOnly": true + }, + "aadTenantId": { + "description": "Azure Active Directory tenant ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalClientId": { + "description": "Azure Active Directory service principal client ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalObjectId": { + "description": "Azure Active Directory service principal object ID.", + "type": "string", + "readOnly": true + }, + "azureManagementEndpointAudience": { + "description": "The azure management endpoint audience.", + "type": "string", + "readOnly": true + }, + "aadAudience": { + "description": "Identifier of the target resource that is the recipient of the requested token.", + "type": "string", + "readOnly": true + } + } + }, + "User": { + "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of User", + "readOnly": true + } + } + }, + "UserAccessRight": { + "description": "The mapping between a particular user and the access type on the SMB share.", + "required": [ + "userId", + "accessType" + ], + "type": "object", + "properties": { + "userId": { + "description": "User ID (already existing in the device).", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed for the user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "UserList": { + "description": "Collection of users.", + "type": "object", + "properties": { + "value": { + "description": "The list of users.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "UserProperties": { + "description": "The user properties.", + "required": [ + "userType" + ], + "type": "object", + "properties": { + "encryptedPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "The password details." + }, + "shareAccessRights": { + "description": "List of shares that the user has rights on. This field should not be specified during user creation.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareAccessRight" + }, + "x-ms-identifiers": [ + "shareId" + ], + "readOnly": true + }, + "userType": { + "description": "Type of the user.", + "enum": [ + "Share", + "LocalManagement", + "ARM" + ], + "type": "string", + "x-ms-enum": { + "name": "UserType", + "modelAsString": true + } + } + } + }, + "VmMemory": { + "description": "VmMemory Data.", + "type": "object", + "properties": { + "startupMemoryMB": { + "format": "int64", + "description": "The total amount of RAM in the virtual machine, as seen by the guest operating system. For a virtual machine with dynamic memory enabled, this represents the initial memory available at startup.", + "type": "integer" + }, + "currentMemoryUsageMB": { + "format": "int64", + "description": "The current memory used by the virtual machine.", + "type": "integer" + } + } + }, + "VmPlacementRequestResult": { + "description": "List of VM sizes being checked for creation on appliance along with corresponding result.", + "type": "object", + "properties": { + "vmSize": { + "description": "List of VM sizes being checked.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "isFeasible": { + "description": "Boolean value indicating if the VM(s) in VmSize can be created.", + "type": "boolean" + }, + "messageCode": { + "description": "MessageCode indicating reason for success or failure.", + "type": "string" + }, + "message": { + "description": "Localized message to be displayed to the user to explain the check result.", + "type": "string" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version.", + "required": true, + "type": "string" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID.", + "required": true, + "type": "string" + } + }, + "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/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGet.json new file mode 100644 index 000000000000..414e3aec8f80 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGetAllInDevice.json new file mode 100644 index 000000000000..d4242c7f8856 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AlertGetAllInDevice.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "title": "Device password has changed", + "alertType": "PasswordChangedEvent", + "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z", + "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.", + "severity": "Informational", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 2 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790", + "name": "83eccd0b-134b-40b0-ad62-b5f124d03790", + "type": "dataBoxEdgeDevices/alerts" + }, + { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AvailableSkusList.json new file mode 100644 index 000000000000..2c5f780050fd --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/AvailableSkusList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "location": "westus", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "dataBoxEdgeDevices", + "name": "Gateway", + "availability": "Available", + "tier": "Standard", + "kind": "AzureDataBoxGateway", + "version": "Stable", + "signupOption": "Available", + "locations": [ + "West US" + ], + "locationInfo": [ + { + "location": "West US" + } + ] + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleDelete.json new file mode 100644 index 000000000000..2a2f4ee4630b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGet.json new file mode 100644 index 000000000000..278b1dcd48b4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGetAllInDevice.json new file mode 100644 index 000000000000..e5926e101505 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthScheduleGetAllInDevice.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthSchedulePut.json new file mode 100644 index 000000000000..5eeebf5c5f2b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/BandwidthSchedulePut.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "start": "0:0:0", + "stop": "13:59:0", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerDelete.json new file mode 100644 index 000000000000..dfdeb83f533f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": { + "headers": { + "location": "https://foo.com/ContainreDelte" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerGet.json new file mode 100644 index 000000000000..0c217282311b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerListAllInDevice.json new file mode 100644 index 000000000000..554281ddcec0 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerListAllInDevice.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:14:32.3016929Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:15:38.0077675Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2", + "name": "blobcontainer2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3", + "name": "blobcontainer3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerPut.json new file mode 100644 index 000000000000..848782f5a404 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "container": { + "properties": { + "dataFormat": "BlockBlob" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer-5e155efe", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerRefresh.json new file mode 100644 index 000000000000..ba5ab9692b8d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ContainerRefresh.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/ContanierRefresh" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceDelete.json new file mode 100644 index 000000000000..c1e439c2885c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByName.json new file mode 100644 index 000000000000..a100997adc9f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByName.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json new file mode 100644 index 000000000000..940762fc9454 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "Offline", + "serialNumber": "1D6QHQ2", + "deviceType": "DataBoxEdgeDevice", + "friendlyName": "DBE-1D6QHQ2", + "deviceModel": "Physical", + "deviceSoftwareVersion": "Azure Stack Edge 2009", + "deviceLocalCapacity": 8042259, + "timeZone": "Pacific Standard Time", + "deviceHcsVersion": "2.1.1361.23408", + "configuredRoleTypes": [ + "CloudEdgeManagement" + ], + "nodeCount": 1, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + }, + "dataResidency": { + "type": "ZoneReplication" + } + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json new file mode 100644 index 000000000000..8c784c526ef8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource", + "name": "EdgeTestPassResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource", + "name": "FPGAResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "centraluseuap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource", + "name": "TestVMEdgeResource", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json new file mode 100644 index 000000000000..ed57aba9457b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDeviceGetBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "083df009-06d9-4e3c-ae72-f9249a814334", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01", + "name": "linksub01", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "8536db30-78d2-4759-95b7-896a66e14c24", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest", + "name": "mergeazstest", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Gateway", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureDataBoxGateway", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2", + "name": "mergeazstest2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePatch.json new file mode 100644 index 000000000000..b71eddf90cd2 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePatch.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "edgeProfile": { + "subscription": { + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus2euap", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"", + "identity": { + "type": "SystemAssigned", + "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "kind": "AzureStackEdge", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0, + "timeZone": "Pacific Standard Time", + "nodeCount": 0, + "resourceMoveDetails": { + "operationInProgress": "None" + }, + "edgeProfile": { + "subscription": { + "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16", + "state": "Registered" + } + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePut.json new file mode 100644 index 000000000000..8175975bc704 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePut.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "id": "foo/bar/id", + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePutWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePutWithDataResidency.json new file mode 100644 index 000000000000..5f2b4475693b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DataBoxEdgeDevicePutWithDataResidency.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "dataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "foo/bar/id", + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice", + "properties": { + "dataResidency": { + "type": "ZoneReplication" + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteAddons.json new file mode 100644 index 000000000000..e0f242356e5f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteAddons.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteMonitoringConfig.json new file mode 100644 index 000000000000..1af4336b4f9f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeleteMonitoringConfig.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/DeleteMonitoringConfig" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityGet.json new file mode 100644 index 000000000000..12bf18009db5 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityGet.json @@ -0,0 +1,157 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "timeStamp": "2022-02-28T19:35:34.5585067Z", + "clusterStorageCapacityInfo": { + "clusterTotalStorageMb": 5368642.0, + "clusterFreeStorageMb": 5284151.0 + }, + "clusterComputeCapacityInfo": { + "fqdn": "3V78B03CL", + "gpuCapacity": { + "gpuType": "NvidiaTeslaT4", + "gpuUsedUnitsCount": 0, + "gpuFreeUnitsCount": 1, + "gpuReservedForFailoverUnitsCount": 0, + "gpuTotalUnitsCount": 1 + }, + "memoryCapacity": { + "clusterFreeMemoryMb": 20978.64, + "clusterUsedMemoryMb": 109711.36, + "clusterFailoverMemoryMb": 0.0, + "clusterFragmentationMemoryMb": 0.0, + "clusterHypervReserveMemoryMb": 19599.36, + "clusterInfraVmMemoryMb": 0.0, + "clusterTotalMemoryMb": 130690.0, + "clusterNonFailoverVmMb": 0.0, + "clusterMemoryUsedByVmsMb": 90112.0 + }, + "lastRefreshedTime": "2022-02-28T19:35:23.82Z", + "totalProvisionedNonHpnCores": 5 + }, + "nodeCapacityInfos": { + "3V78B03": { + "hostName": "3V78B03", + "effectiveAvailableMemoryMbOnHost": 45818, + "availableGpuCount": 1, + "vmUsedMemory": { + "2e867196-e44b-49b7-9cb3-46c25973b762": { + "startupMemoryMB": 3584, + "currentMemoryUsageMB": 3584 + }, + "23ddd5ea-bda9-467a-803f-1a7e2888d1fa": { + "startupMemoryMB": 24576, + "currentMemoryUsageMB": 24576 + }, + "853efe82-58f1-4f94-8f9c-7752dab6767c": { + "startupMemoryMB": 24576, + "currentMemoryUsageMB": 24576 + }, + "4c4261f0-eac5-4ff6-95ef-2cb70e09d3f6": { + "startupMemoryMB": 3584, + "currentMemoryUsageMB": 3584 + }, + "48034ac1-04ce-48e1-89fd-15a6d71fd623": { + "startupMemoryMB": 2048, + "currentMemoryUsageMB": 2048 + }, + "dc3d20b2-8581-41cb-9ca3-1bbc1a8a2fe4": { + "startupMemoryMB": 3584, + "currentMemoryUsageMB": 3584 + }, + "c1023a57-d6a0-4a77-9308-48b320bfedbd": { + "startupMemoryMB": 3584, + "currentMemoryUsageMB": 3584 + }, + "6b1817d5-4003-4f17-8423-51c33d9de88c": { + "startupMemoryMB": 24576, + "currentMemoryUsageMB": 0 + } + }, + "gpuType": "NvidiaTeslaT4", + "numaNodesData": [ + { + "numaNodeIndex": 0, + "totalMemoryInMb": 65154, + "logicalCoreCountPerCore": 2, + "effectiveAvailableMemoryInMb": 30182, + "freeVCpuIndexesForHpn": [], + "vCpuIndexesForHpn": [], + "vCpuIndexesForRoot": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + }, + { + "numaNodeIndex": 1, + "totalMemoryInMb": 65536, + "logicalCoreCountPerCore": 2, + "effectiveAvailableMemoryInMb": 19493, + "freeVCpuIndexesForHpn": [], + "vCpuIndexesForHpn": [], + "vCpuIndexesForRoot": [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + } + ] + } + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/deviceCapacityInfo/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/deviceCapacityInfo" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityRequestPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityRequestPost.json new file mode 100644 index 000000000000..ef3326eb33df --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DeviceCapacityRequestPost.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "deviceCapacityRequestInfo": { + "properties": { + "vmPlacementQuery": [ + [ + "Standard_D2_v2" + ] + ] + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DownloadUpdatesPost.json new file mode 100644 index 000000000000..054fe5dd95db --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/DownloadUpdatesPost.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/DownloadUpdatesPost" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ExtendedInfoPost.json new file mode 100644 index 000000000000..e9a9f5ffab70 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ExtendedInfoPost.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceKey": "3482840729935603111", + "encryptionKeyThumbprint": "", + "encryptionKey": "" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GenerateCertificate.json new file mode 100644 index 000000000000..214fd194c6b4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GenerateCertificate.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==", + "privateKey": null, + "expiryTimeInUTC": "2020-11-22T05:06:20.000Z" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetAddons.json new file mode 100644 index 000000000000..2d4bb1a7effb --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetAddons.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDCAccessCode.json new file mode 100644 index 000000000000..5363798142a7 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDCAccessCode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "authCode": "_sv7-NY2" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..d13fdbd0a683 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticProactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userConsent": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..7c0027d36532 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetDiagnosticRemoteSupportSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "LocalUI" + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetMonitoringConfig.json new file mode 100644 index 000000000000..eaa6eb38efbc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetMonitoringConfig.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "foo/bar/id", + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetUpdateExtendedInfo.json new file mode 100644 index 000000000000..6da30094964a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/GetUpdateExtendedInfo.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "parameters": {}, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523", + "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net", + "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59", + "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9", + "keyVaultSyncStatus": "KeyVaultSynced", + "deviceSecrets": { + "HcsDataVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "HcsInternalVolumeBitLockerExternalKey": { + "keyVaultId": "Id" + }, + "SystemVolumeBitLockerRecoveryKey": { + "keyVaultId": "Id" + }, + "SEDEncryptionExternalKeyId": {}, + "SEDEncryptionExternalKey": {}, + "BMCDefaultUserPassword": {}, + "RotateKeyForDataVolumeBitlocker": {}, + "RotateKeysForSedDrivesSerialized": {} + } + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/InstallUpdatesPost.json new file mode 100644 index 000000000000..266cb2cb7ef1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/InstallUpdatesPost.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/InstalllUpdatesPost" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/JobsGet.json new file mode 100644 index 000000000000..bfa497bcf3e9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/JobsGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ListMonitoringConfig.json new file mode 100644 index 000000000000..0227baf9a365 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ListMonitoringConfig.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "foo/bar/id", + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NetworkSettingsGet.json new file mode 100644 index 000000000000..ffdc094b070a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NetworkSettingsGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "networkAdapters": [ + { + "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}", + "adapterPosition": { + "networkGroup": "NonRDMA", + "port": 0 + }, + "index": 1, + "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984", + "networkAdapterName": "DATA1", + "label": "DATA1", + "macAddress": "00155D4E265B", + "linkSpeed": 10000000000, + "status": "Inactive", + "rdmaStatus": "Incapable", + "dhcpStatus": "Disabled", + "ipv4Configuration": { + "ipAddress": "10.150.78.56", + "subnet": "255.255.252.0", + "gateway": "10.150.76.1" + }, + "ipv6Configuration": { + "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf", + "prefixLength": 64, + "gateway": "fe80::12f3:11ff:fe36:994b%5" + }, + "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5", + "dnsServers": [ + "10.50.50.50", + "10.50.10.50" + ] + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NodeGetAllInDevice.json new file mode 100644 index 000000000000..9140b9d1e263 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/NodeGetAllInDevice.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1D6QHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2", + "name": "1D6QHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + }, + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1DCNHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2", + "name": "1DCNHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsGet.json new file mode 100644 index 000000000000..d6b22ca7f815 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsGet.json @@ -0,0 +1,675 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Creates or updates share users", + "description": "Creates or updates the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Delete share users", + "description": "Deletes the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Creates or updates bandwidth schedules", + "description": "Creates or updates the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Delete bandwidth schedules", + "description": "Deletes the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Creates or updates ArmApiRes_roles", + "description": "Creates or updates the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Delete ArmApiRes_roles", + "description": "Deletes the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Creates or updates shares", + "description": "Creates or updates the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "ArmApiOp_action_refresh_shares", + "description": "ArmApiDesc_action_refresh_shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Delete shares", + "description": "Deletes the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Upload certificates", + "description": "Upload certificate for device registration" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Delete Data Box Edge devices", + "description": "Deletes the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices", + "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Gets resource extended information", + "description": "Retrieves resource extended information" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device network settings", + "operation": "List Device network settings", + "description": "Lists or gets the Device network settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device security settings", + "operation": "Update security settings", + "description": "Update security settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "update summary", + "operation": "List update summary", + "description": "Lists or gets the update summary" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Scan for updates", + "description": "Scan for updates" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Download Updates", + "description": "Download Updates in device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Install Updates", + "description": "Install Updates on device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "jobs", + "operation": "List jobs", + "description": "Lists or gets the jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Creates or updates storage account credentials", + "description": "Creates or updates the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Delete storage account credentials", + "description": "Deletes the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read Data Box Edge device metric definition", + "description": "Gets the available Data Box Edge device level metrics" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "NICReadThroughput", + "displayName": "Read Throughput (Network)", + "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "NICWriteThroughput", + "displayName": "Write Throughput (Network)", + "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughputPerShare", + "displayName": "Cloud Download Throughput (Share)", + "displayDescription": "The download throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughputPerShare", + "displayName": "Cloud Upload Throughput (Share)", + "displayDescription": "The upload throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloudPerShare", + "displayName": "Cloud Bytes Uploaded (Share)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "TotalCapacity", + "displayName": "Total Capacity", + "displayDescription": "Total Capacity", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "AvailableCapacity", + "displayName": "Available Capacity", + "displayDescription": "The available capacity in bytes during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughput", + "displayName": "Cloud Upload Throughput", + "displayDescription": "The cloud upload throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughput", + "displayName": "Cloud Read Throughput", + "displayDescription": "The cloud download throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloud", + "displayName": "Cloud Bytes Uploaded (Device)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Write diagnostics setting", + "description": "Creates or updates the diagnostics setting for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read diagnostics setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsStatusGet.json new file mode 100644 index 000000000000..8d61643580bb --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OperationsStatusGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderDelete.json new file mode 100644 index 000000000000..62ca4288e80d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/OrderDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGet.json new file mode 100644 index 000000000000..e3e9356917e6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGetAllInDevice.json new file mode 100644 index 000000000000..bc148b6b8b58 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderGetAllInDevice.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderPut.json new file mode 100644 index 000000000000..daf855f08d85 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/OrderPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "order": { + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutAddons.json new file mode 100644 index 000000000000..4d7d70da9386 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutAddons.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "KubernetesRole", + "addonName": "arcName", + "addon": { + "kind": "ArcForKubernetes", + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS" + } + }, + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "resourceName": "testedgedevice", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutMonitoringConfig.json new file mode 100644 index 000000000000..7abb726db57b --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/PutMonitoringConfig.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "testrole", + "monitoringMetricConfiguration": { + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + }, + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "foo/bar/id", + "properties": { + "metricConfigurations": [ + { + "resourceId": "test", + "mdmAccount": "test", + "metricNameSpace": "test", + "counterSets": [ + { + "counters": [ + { + "name": "test" + } + ] + } + ] + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleDelete.json new file mode 100644 index 000000000000..645d7bec29d3 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGet.json new file mode 100644 index 000000000000..9efbfd9d5760 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGetAllInDevice.json new file mode 100644 index 000000000000..fd48180bf643 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleListAddOns.json new file mode 100644 index 000000000000..4a27670925a4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RoleListAddOns.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "roleName": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29", + "resourceGroupName": "testrg1", + "resourceName": "testresource1", + "resourceLocation": "EastUS", + "version": "0.2.18", + "hostPlatform": "Linux", + "hostPlatformType": "KubernetesCluster", + "provisioningState": "Created" + }, + "kind": "ArcForKubernetes", + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName", + "name": "arcName", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RolePut.json new file mode 100644 index 000000000000..1189524cc3ac --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/RolePut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "role": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "348586569999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "1245475856069999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACDelete.json new file mode 100644 index 000000000000..7838072a2b01 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/SACDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGet.json new file mode 100644 index 000000000000..19d141aeb6d4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGetAllInDevice.json new file mode 100644 index 000000000000..657faa621a22 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alias": "sac1128180128323", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "GeneralPurposeStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323", + "name": "sac1128180128323", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + }, + { + "properties": { + "alias": "sac1128180128312", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312", + "name": "sac1128180128312", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACPut.json new file mode 100644 index 000000000000..bc8344f5e0ad --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SACPut.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccountCredential": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "accountKey": { + "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==", + "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31", + "encryptionAlgorithm": "AES256" + }, + "sslStatus": "Disabled", + "accountType": "BlobStorage" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ScanForUpdatesPost.json new file mode 100644 index 000000000000..84d2bf9b39e8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ScanForUpdatesPost.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SecuritySettingsUpdatePost.json new file mode 100644 index 000000000000..ac2d97a43b9d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SecuritySettingsUpdatePost.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "AzureVM", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "securitySettings": { + "properties": { + "deviceAdminPassword": { + "value": "", + "encryptionAlgorithm": "AES256", + "encryptionCertThumbprint": "" + } + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://foo.com/BandwidthSchdeuleDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareDelete.json new file mode 100644 index 000000000000..e7e769d26a1e --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/ShareDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGet.json new file mode 100644 index 000000000000..d1c614cdbe61 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGetAllInDevice.json new file mode 100644 index 000000000000..f89e430d1458 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareGetAllInDevice.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SharePut.json new file mode 100644 index 000000000000..5821c51efe54 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/SharePut.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "share": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Enabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "dataPolicy": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareRefreshPost.json new file mode 100644 index 000000000000..6239ad83751d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/ShareRefreshPost.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/ShareRefreshPost" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..431b77a58753 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": { + "headers": { + "location": "https://foo.com/StorageAccountDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGet.json new file mode 100644 index 000000000000..561b97f6d0c1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGetAllInDevice.json new file mode 100644 index 000000000000..0c0c716729cf --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountGetAllInDevice.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountPut.json new file mode 100644 index 000000000000..93c07100b282 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/StorageAccountPut.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccount": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerDelete.json new file mode 100644 index 000000000000..ce6b303ea457 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/TriggerDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGet.json new file mode 100644 index 000000000000..8b64c5d01a90 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGetAllInDevice.json new file mode 100644 index 000000000000..b0fa0697722d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerGetAllInDevice.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerPut.json new file mode 100644 index 000000000000..985adbb2adf6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerPut.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "trigger": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "kind": "FileEvent" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerSupportPackage.json new file mode 100644 index 000000000000..9105aa5f47b6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/TriggerSupportPackage.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "triggerSupportPackageRequest": { + "properties": { + "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z", + "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z", + "include": "DefaultWithDumps" + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/TriggerSupportPackage" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json new file mode 100644 index 000000000000..b54ca3f912b0 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "proactiveLogCollectionSettings": { + "properties": { + "userConsent": "Enabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "userConsent": "Disabled" + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-5428209/diagnosticProactiveLogCollectionSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticRemoteSupportSettings.json new file mode 100644 index 000000000000..b99872364001 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateDiagnosticRemoteSupportSettings.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "diagnosticRemoteSupportSettings": { + "properties": { + "remoteSupportSettingsList": [ + { + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00", + "remoteApplicationType": "Powershell" + } + ] + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "remoteSupportSettingsList": [ + { + "remoteApplicationType": "Powershell", + "accessLevel": "ReadWrite", + "expirationTimeStampInUTC": "2500-09-14T00:00:00+00:00" + } + ] + }, + "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-154c8a4/diagnosticRemoteSupportSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateSummaryGet.json new file mode 100644 index 000000000000..60f798b19a13 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UpdateSummaryGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "deviceVersionNumber": "2.1.1377.2170", + "friendlyDeviceVersionName": "Azure Stack Edge 2010", + "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z", + "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z", + "lastDownloadJobStatus": "Invalid", + "lastInstallJobStatus": "Invalid", + "totalNumberOfUpdatesAvailable": 1, + "totalNumberOfUpdatesPendingDownload": 1, + "totalNumberOfUpdatesPendingInstall": 1, + "rebootBehavior": "NeverReboots", + "ongoingUpdateOperation": "Install", + "updateTitles": [ + "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R" + ], + "totalUpdateSizeInBytes": 4260898192.0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UploadCertificatePost.json new file mode 100644 index 000000000000..9d5a8bb18ca8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UploadCertificatePost.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "authType": "AzureActiveDirectory", + "resourceId": "392799901267771", + "aadAuthority": "https://login.windows.net", + "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909", + "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68", + "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4", + "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserDelete.json new file mode 100644 index 000000000000..dfd466c049aa --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserDelete.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://foo.com/UserDelete" + } + }, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGet.json new file mode 100644 index 000000000000..99f3d3315784 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + "202": {} + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGetAllInDevice.json new file mode 100644 index 000000000000..e8b91ec774f4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserGetAllInDevice.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "name": "user2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserPut.json new file mode 100644 index 000000000000..4a62418fb378 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2023-07-01/examples/UserPut.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "user": { + "properties": { + "encryptedPassword": { + "value": "", + "encryptionAlgorithm": "None", + "encryptionCertThumbprint": "blah" + }, + "userType": "Share" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md index 48a14ccff980..1f2e714ee6f5 100644 --- a/specification/databoxedge/resource-manager/readme.md +++ b/specification/databoxedge/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for DataBox. - - --- + ## Getting Started + To build the SDK for DataBox Edge, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,28 @@ To build the SDK for DataBox Edge, simply [Install AutoRest](https://aka.ms/auto To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the DataBox Edge API. ``` yaml openapi-type: arm -tag: package-2022-03-01 +tag: package-2023-07 +``` + + +### Tag: package-2023-07 + +These settings apply only when `--tag=package-2023-07` is specified on the command line. + +```yaml $(tag) == 'package-2023-07' +input-file: + - Microsoft.DataBoxEdge/stable/2023-07-01/databoxedge.json ``` ### Tag: package-2023-01-01-preview @@ -36,6 +46,7 @@ These settings apply only when `--tag=package-2023-01-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2023-01-01-preview/databoxedge.json ``` + ### Tag: package-2022-12-01-preview These settings apply only when `--tag=package-2022-12-01-preview` is specified on the command line. @@ -44,6 +55,7 @@ These settings apply only when `--tag=package-2022-12-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2022-12-01-preview/databoxedge.json ``` + ### Tag: package-2022-04-01-preview These settings apply only when `--tag=package-2022-04-01-preview` is specified on the command line. @@ -52,6 +64,7 @@ These settings apply only when `--tag=package-2022-04-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2022-04-01-preview/databoxedge.json ``` + ### Tag: package-2022-03-01 These settings apply only when `--tag=package-2022-03-01` is specified on the command line. @@ -60,6 +73,7 @@ These settings apply only when `--tag=package-2022-03-01` is specified on the co input-file: - Microsoft.DataBoxEdge/stable/2022-03-01/databoxedge.json ``` + ### Tag: package-2021-06-01 These settings apply only when `--tag=package-2021-06-01` is specified on the command line. @@ -68,6 +82,7 @@ These settings apply only when `--tag=package-2021-06-01` is specified on the co input-file: - Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json ``` + ### Tag: package-2021-06-01-preview These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line. @@ -76,6 +91,7 @@ These settings apply only when `--tag=package-2021-06-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json ``` + ### Tag: package-2021-02-01 These settings apply only when `--tag=package-2021-02-01` is specified on the command line. @@ -84,6 +100,7 @@ These settings apply only when `--tag=package-2021-02-01` is specified on the co input-file: - Microsoft.DataBoxEdge/stable/2021-02-01/databoxedge.json ``` + ### Tag: package-2021-02-01-preview These settings apply only when `--tag=package-2021-02-01-preview` is specified on the command line. @@ -92,6 +109,7 @@ These settings apply only when `--tag=package-2021-02-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json ``` + ### Tag: package-2020-12-01 These settings apply only when `--tag=package-2020-12-01` is specified on the command line. @@ -100,6 +118,7 @@ These settings apply only when `--tag=package-2020-12-01` is specified on the co input-file: - Microsoft.DataBoxEdge/stable/2020-12-01/databoxedge.json ``` + ### Tag: package-2020-09-01-preview These settings apply only when `--tag=package-2020-09-01-preview` is specified on the command line. @@ -108,6 +127,7 @@ These settings apply only when `--tag=package-2020-09-01-preview` is specified o input-file: - Microsoft.DataBoxEdge/preview/2020-09-01-preview/databoxedge.json ``` + ### Tag: package-2020-09-01 These settings apply only when `--tag=package-2020-09-01` is specified on the command line. @@ -116,6 +136,7 @@ These settings apply only when `--tag=package-2020-09-01` is specified on the co input-file: - Microsoft.DataBoxEdge/stable/2020-09-01/databoxedge.json ``` + ### Tag: package-2020-05-preview These settings apply only when `--tag=package-2020-05-preview` is specified on the command line. @@ -162,8 +183,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -215,6 +236,3 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) - - - diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2023-05-18-preview/controller.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2023-05-18-preview/controller.json index a0ef4f0df639..f29825584c14 100644 --- a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2023-05-18-preview/controller.json +++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/preview/2023-05-18-preview/controller.json @@ -385,7 +385,6 @@ ], "properties": { "properties": { - "readOnly": true, "$ref": "#/definitions/DelegatedControllerProperties", "description": "Properties of the provision operation request." } diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/dynatrace.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/dynatrace.json new file mode 100644 index 000000000000..7e015316d907 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/dynatrace.json @@ -0,0 +1,2244 @@ +{ + "swagger": "2.0", + "info": { + "title": "Dynatrace.Observability", + "version": "2023-04-27" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "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" + } + } + }, + "tags": [ + { + "name": "Monitors" + }, + { + "name": "Operations" + }, + { + "name": "TagRules" + }, + { + "name": "SingleSignOn" + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/listMonitoredResources": { + "post": { + "operationId": "Monitors_ListMonitoredResources", + "summary": "List the resources currently being monitored by the Dynatrace monitor resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitoredResourceListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListMonitoredResources_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json" + }, + "Monitors_ListMonitoredResources_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/getVMHostPayload": { + "post": { + "operationId": "Monitors_GetVMHostPayload", + "summary": "Returns the payload that needs to be passed in the request body for installing Dynatrace agent on a VM.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/VMExtensionPayload" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_GetVMHostPayload_MaximumSet_Gen": { + "$ref": "./examples/Monitors_GetVMHostPayload_MaximumSet_Gen.json" + }, + "Monitors_GetVMHostPayload_MinimumSet_Gen": { + "$ref": "./examples/Monitors_GetVMHostPayload_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}": { + "get": { + "operationId": "Monitors_Get", + "summary": "Get a MonitorResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_Get_MaximumSet_Gen": { + "$ref": "./examples/Monitors_Get_MaximumSet_Gen.json" + }, + "Monitors_Get_MinimumSet_Gen": { + "$ref": "./examples/Monitors_Get_MinimumSet_Gen.json" + } + } + }, + "put": { + "operationId": "Monitors_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "summary": "Create a MonitorResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/MonitorResource" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResource" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json" + }, + "Monitors_CreateOrUpdate_MinimumSet_Gen": { + "$ref": "./examples/Monitors_CreateOrUpdate_MinimumSet_Gen.json" + } + } + }, + "patch": { + "operationId": "Monitors_Update", + "summary": "Update a MonitorResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/MonitorResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_Update_MaximumSet_Gen": { + "$ref": "./examples/Monitors_Update_MaximumSet_Gen.json" + }, + "Monitors_Update_MinimumSet_Gen": { + "$ref": "./examples/Monitors_Update_MinimumSet_Gen.json" + } + } + }, + "delete": { + "operationId": "Monitors_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "summary": "Delete a MonitorResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted." + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_Delete_MaximumSet_Gen": { + "$ref": "./examples/Monitors_Delete_MaximumSet_Gen.json" + }, + "Monitors_Delete_MinimumSet_Gen": { + "$ref": "./examples/Monitors_Delete_MinimumSet_Gen.json" + } + } + } + }, + "/providers/Dynatrace.Observability/operations": { + "get": { + "operationId": "Operations_List", + "summary": "List the operations for Dynatrace.Observability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Operations" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List_MaximumSet_Gen": { + "$ref": "./examples/Operations_List_MaximumSet_Gen.json" + }, + "Operations_List_MinimumSet_Gen": { + "$ref": "./examples/Operations_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Dynatrace.Observability/monitors": { + "get": { + "operationId": "Monitors_ListBySubscriptionId", + "summary": "List all MonitorResource by subscriptionId", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResourceListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListBySubscriptionId_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListBySubscriptionId_MaximumSet_Gen.json" + }, + "Monitors_ListBySubscriptionId_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListBySubscriptionId_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors": { + "get": { + "operationId": "Monitors_ListByResourceGroup", + "summary": "List MonitorResource resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MonitorResourceListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListByResourceGroup_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json" + }, + "Monitors_ListByResourceGroup_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListByResourceGroup_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/tagRules/{ruleSetName}": { + "get": { + "operationId": "TagRules_Get", + "summary": "Get a TagRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/TagRule" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "TagRules" + ], + "x-ms-examples": { + "TagRules_Get_MaximumSet_Gen": { + "$ref": "./examples/TagRules_Get_MaximumSet_Gen.json" + }, + "TagRules_Get_MinimumSet_Gen": { + "$ref": "./examples/TagRules_Get_MinimumSet_Gen.json" + } + } + }, + "put": { + "operationId": "TagRules_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "summary": "Create a TagRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/TagRule" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/TagRule" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/TagRule" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "TagRules" + ], + "x-ms-examples": { + "TagRules_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json" + }, + "TagRules_CreateOrUpdate_MinimumSet_Gen": { + "$ref": "./examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json" + } + } + }, + "delete": { + "operationId": "TagRules_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "summary": "Delete a TagRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted." + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "TagRules" + ], + "x-ms-examples": { + "TagRules_Delete_MaximumSet_Gen": { + "$ref": "./examples/TagRules_Delete_MaximumSet_Gen.json" + }, + "TagRules_Delete_MinimumSet_Gen": { + "$ref": "./examples/TagRules_Delete_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/tagRules": { + "get": { + "operationId": "TagRules_List", + "summary": "List all TagRule by monitorName", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/TagRuleListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "TagRules" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TagRules_List_MaximumSet_Gen": { + "$ref": "./examples/TagRules_List_MaximumSet_Gen.json" + }, + "TagRules_List_MinimumSet_Gen": { + "$ref": "./examples/TagRules_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Dynatrace.Observability/getMarketplaceSaaSResourceDetails": { + "post": { + "tags": [ + "Monitors" + ], + "operationId": "Monitors_GetMarketplaceSaaSResourceDetails", + "description": "Get Marketplace SaaS resource details of a tenant under a specific subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TenantIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MarketplaceSaaSResourceDetailsResponse" + } + }, + "404": { + "description": "No Marketplace SaaS resource found for the given tenant Id", + "x-ms-error-response": true + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen": { + "$ref": "./examples/Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen.json" + }, + "Monitors_GetMarketplaceSaaSResourceDetails_MinimumSet_Gen": { + "$ref": "./examples/Monitors_GetMarketplaceSaaSResourceDetails_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}": { + "put": { + "operationId": "SingleSignOn_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "summary": "Create a DynatraceSingleSignOnResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/DynatraceSingleSignOnResource" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DynatraceSingleSignOnResource" + } + }, + "201": { + "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/DynatraceSingleSignOnResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "SingleSignOn" + ], + "x-ms-examples": { + "SingleSignOn_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/SingleSignOn_CreateOrUpdate_MaximumSet_Gen.json" + }, + "SingleSignOn_CreateOrUpdate_MinimumSet_Gen": { + "$ref": "./examples/SingleSignOn_CreateOrUpdate_MinimumSet_Gen.json" + } + } + }, + "get": { + "operationId": "SingleSignOn_Get", + "summary": "Get a DynatraceSingleSignOnResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DynatraceSingleSignOnResource" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "SingleSignOn" + ], + "x-ms-examples": { + "SingleSignOn_Get_MaximumSet_Gen": { + "$ref": "./examples/SingleSignOn_Get_MaximumSet_Gen.json" + }, + "SingleSignOn_Get_MinimumSet_Gen": { + "$ref": "./examples/SingleSignOn_Get_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/singleSignOnConfigurations": { + "get": { + "operationId": "SingleSignOn_List", + "summary": "List all DynatraceSingleSignOnResource by monitorName", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DynatraceSingleSignOnResourceListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "SingleSignOn" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SingleSignOn_List_MaximumSet_Gen": { + "$ref": "./examples/SingleSignOn_List_MaximumSet_Gen.json" + }, + "SingleSignOn_List_MinimumSet_Gen": { + "$ref": "./examples/SingleSignOn_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/listHosts": { + "post": { + "operationId": "Monitors_ListHosts", + "summary": "List the VM/VMSS resources currently being monitored by the Dynatrace resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/VMHostsListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListHosts_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListHosts_MaximumSet_Gen.json" + }, + "Monitors_ListHosts_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListHosts_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/getMetricStatus": { + "post": { + "tags": [ + "Monitors" + ], + "operationId": "Monitors_GetMetricStatus", + "description": "Get metric status", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "monitorName", + "in": "path", + "required": true, + "description": "Name of the Monitor resource", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/MetricsStatusResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_GetMetricStatus_MaximumSet_Gen": { + "$ref": "./examples/Monitors_GetMetricStatus_MaximumSet_Gen.json" + }, + "Monitors_GetMetricStatus_MinimumSet_Gen": { + "$ref": "./examples/Monitors_GetMetricStatus_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/listAppServices": { + "post": { + "operationId": "Monitors_ListAppServices", + "summary": "Gets list of App Services with Dynatrace PaaS OneAgent enabled", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/AppServiceListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListAppServices_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListAppServices_MaximumSet_Gen.json" + }, + "Monitors_ListAppServices_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListAppServices_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/getSSODetails": { + "post": { + "operationId": "Monitors_GetSSODetails", + "summary": "Gets the SSO configuration details from the partner.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/SSODetailsRequestParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/SSODetailsResponse" + } + }, + "401": { + "description": "User has insufficient permissions to update SSO configuration", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-examples": { + "Monitors_GetSSODetails_MaximumSet_Gen": { + "$ref": "./examples/Monitors_GetSSODetails_MaximumSet_Gen.json" + }, + "Monitors_GetSSODetails_MinimumSet_Gen": { + "$ref": "./examples/Monitors_GetSSODetails_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Dynatrace.Observability/monitors/{monitorName}/listLinkableEnvironments": { + "post": { + "operationId": "Monitors_ListLinkableEnvironments", + "summary": "Gets all the Dynatrace environments that a user can link a azure resource to", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/LinkableEnvRequestParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/LinkableEnvironmentListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Monitors" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListLinkableEnvironments_MaximumSet_Gen": { + "$ref": "./examples/Monitors_ListLinkableEnvironments_MaximumSet_Gen.json" + }, + "Monitors_ListLinkableEnvironments_MinimumSet_Gen": { + "$ref": "./examples/Monitors_ListLinkableEnvironments_MinimumSet_Gen.json" + } + } + } + } + }, + "definitions": { + "MonitoredResourceListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MonitoredResource" + }, + "x-cadl-name": "MonitoredResource[]", + "description": "The items on this page" + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "List of all the resources being monitored by Dynatrace monitor resource" + }, + "MarketplaceSaaSResourceDetailsResponse": { + "type": "object", + "properties": { + "marketplaceSaaSResourceId": { + "type": "string", + "description": "Id of the Marketplace SaaS Resource" + }, + "planId": { + "type": "string", + "description": "Id of the plan" + }, + "marketplaceSubscriptionStatus": { + "$ref": "#/definitions/MarketplaceSubscriptionStatus", + "description": "Marketplace subscription status" + } + }, + "description": "Marketplace SaaS resource details linked to the given tenant Id" + }, + "VMExtensionPayload": { + "type": "object", + "properties": { + "ingestionKey": { + "type": "string", + "description": "Ingestion key of the environment" + }, + "environmentId": { + "type": "string", + "description": "Id of the environment created" + } + }, + "description": "Response of payload to be passed while installing VM agent." + }, + "VMHostsListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VMInfo" + }, + "description": "The items on this page", + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "Response of a list VM Host Operation." + }, + "AppServiceInfo": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "App service resource ID" + }, + "version": { + "type": "string", + "description": "Version of the Dynatrace agent installed on the App Service." + }, + "monitoringType": { + "$ref": "#/definitions/MonitoringType", + "description": "The monitoring mode of OneAgent" + }, + "autoUpdateSetting": { + "$ref": "#/definitions/AutoUpdateSetting", + "description": "Update settings of OneAgent." + }, + "updateStatus": { + "$ref": "#/definitions/UpdateStatus", + "description": "The current update status of OneAgent." + }, + "availabilityState": { + "$ref": "#/definitions/AvailabilityState", + "description": "The availability state of OneAgent." + }, + "logModule": { + "$ref": "#/definitions/LogModule", + "description": "Tells whether log modules are enabled or not" + }, + "hostGroup": { + "type": "string", + "description": "The name of the host group" + }, + "hostName": { + "type": "string", + "description": "The name of the host" + } + }, + "description": "Details of App Services having Dynatrace OneAgent installed" + }, + "MetricsStatusResponse": { + "type": "object", + "properties": { + "azureResourceIds": { + "type": "array", + "items": { + "type": "string" + }, + "x-cadl-name": "string[]", + "description": "Azure resource IDs" + } + }, + "description": "Response of get metrics status operation" + }, + "AppServiceListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AppServiceInfo" + }, + "description": "The items on this page", + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "Response of a list App Services Operation." + }, + "MonitorResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/MonitorProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System metadata for this resource.", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The managed service identities assigned to this resource." + } + }, + "description": "Dynatrace Monitor Resource", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "MonitorResourceUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + }, + "description": "The updatable properties of the MonitorResource." + }, + "MonitorResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MonitorResource" + }, + "x-cadl-name": "Dynatrace.Observability.MonitorResource[]", + "description": "The items on this page" + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "The response of a MonitorResource list operation.", + "required": [ + "value" + ] + }, + "TagRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/MonitoringTagRulesProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System metadata for this resource.", + "readOnly": true + } + }, + "description": "Tag rules for a monitor resource", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "TagRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TagRule" + }, + "x-cadl-name": "Dynatrace.Observability.TagRule[]", + "description": "The items on this page" + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "The response of a TagRule list operation.", + "required": [ + "value" + ] + }, + "DynatraceSingleSignOnResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DynatraceSingleSignOnProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System metadata for this resource.", + "readOnly": true + } + }, + "description": "Single sign-on configurations for a given monitor resource.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "DynatraceSingleSignOnResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DynatraceSingleSignOnResource" + }, + "x-cadl-name": "Dynatrace.Observability.DynatraceSingleSignOnResource[]", + "description": "The items on this page" + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + }, + "description": "The response of a DynatraceSingleSignOnResource list operation.", + "required": [ + "value" + ] + }, + "MonitoredResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM id of the resource." + }, + "sendingMetrics": { + "$ref": "#/definitions/SendingMetricsStatus", + "description": "Flag indicating if resource is sending metrics to Dynatrace." + }, + "reasonForMetricsStatus": { + "type": "string", + "description": "Reason for why the resource is sending metrics (or why it is not sending)." + }, + "sendingLogs": { + "$ref": "#/definitions/SendingLogsStatus", + "description": "Flag indicating if resource is sending logs to Dynatrace." + }, + "reasonForLogsStatus": { + "type": "string", + "description": "Reason for why the resource is sending logs (or why it is not sending)." + } + }, + "description": "Details of resource being monitored by Dynatrace monitor resource" + }, + "VMInfo": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Azure VM resource ID" + }, + "version": { + "type": "string", + "description": "Version of the Dynatrace agent installed on the VM." + }, + "monitoringType": { + "$ref": "#/definitions/MonitoringType", + "description": "The monitoring mode of OneAgent" + }, + "autoUpdateSetting": { + "$ref": "#/definitions/AutoUpdateSetting", + "description": "Update settings of OneAgent." + }, + "updateStatus": { + "$ref": "#/definitions/UpdateStatus", + "description": "The current update status of OneAgent." + }, + "availabilityState": { + "$ref": "#/definitions/AvailabilityState", + "description": "The availability state of OneAgent." + }, + "logModule": { + "$ref": "#/definitions/LogModule", + "description": "Tells whether log modules are enabled or not" + }, + "hostGroup": { + "type": "string", + "description": "The name of the host group" + }, + "hostName": { + "type": "string", + "description": "The name of the host" + } + }, + "description": "Details of VM Resource having Dynatrace OneAgent installed" + }, + "MonitoringType": { + "type": "string", + "description": "The monitoring mode of OneAgent", + "enum": [ + "CLOUD_INFRASTRUCTURE", + "FULL_STACK" + ], + "x-ms-enum": { + "name": "MonitoringType", + "modelAsString": true + } + }, + "AutoUpdateSetting": { + "type": "string", + "description": "Update settings of OneAgent.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "x-ms-enum": { + "name": "AutoUpdateSetting", + "modelAsString": true + } + }, + "UpdateStatus": { + "type": "string", + "description": "The current update status of OneAgent.", + "enum": [ + "INCOMPATIBLE", + "OUTDATED", + "SCHEDULED", + "SUPPRESSED", + "UNKNOWN", + "UP2DATE", + "UPDATE_IN_PROGRESS", + "UPDATE_PENDING", + "UPDATE_PROBLEM" + ], + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + }, + "AvailabilityState": { + "type": "string", + "description": "The availability state of OneAgent.", + "enum": [ + "CRASHED", + "LOST", + "MONITORED", + "PRE_MONITORED", + "SHUTDOWN", + "UNEXPECTED_SHUTDOWN", + "UNKNOWN", + "UNMONITORED" + ], + "x-ms-enum": { + "name": "AvailabilityState", + "modelAsString": true + } + }, + "LogModule": { + "type": "string", + "description": "Tells whether log modules are enabled or not", + "enum": [ + "ENABLED", + "DISABLED" + ], + "x-ms-enum": { + "name": "LogModule", + "modelAsString": true + } + }, + "MonitorProperties": { + "type": "object", + "properties": { + "monitoringStatus": { + "$ref": "#/definitions/MonitoringStatus", + "description": "Status of the monitor." + }, + "marketplaceSubscriptionStatus": { + "$ref": "#/definitions/MarketplaceSubscriptionStatus", + "description": "Marketplace subscription status." + }, + "dynatraceEnvironmentProperties": { + "$ref": "#/definitions/DynatraceEnvironmentProperties", + "description": "Properties of the Dynatrace environment." + }, + "userInfo": { + "$ref": "#/definitions/UserInfo", + "description": "User info." + }, + "planData": { + "$ref": "#/definitions/PlanData", + "description": "Billing plan information." + }, + "liftrResourceCategory": { + "$ref": "#/definitions/LiftrResourceCategories", + "description": "Liftr Resource category.", + "readOnly": true + }, + "liftrResourcePreference": { + "type": "integer", + "format": "int32", + "description": "The priority of the resource.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + } + }, + "description": "Properties specific to the monitor resource." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The Active Directory tenant id of the principal.", + "readOnly": true + }, + "principalId": { + "type": "string", + "description": "The active directory identifier of this principal.", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "The type of managed identity assigned to this resource." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "The identities assigned to this resource by the user." + } + }, + "description": "The properties of the managed service identities assigned to this resource.", + "required": [ + "type" + ] + }, + "MonitoringStatus": { + "type": "string", + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "MonitoringStatus", + "modelAsString": true + } + }, + "MarketplaceSubscriptionStatus": { + "type": "string", + "description": "Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state.", + "enum": [ + "Active", + "Suspended" + ], + "x-ms-enum": { + "name": "MarketplaceSubscriptionStatus", + "modelAsString": true + } + }, + "DynatraceEnvironmentProperties": { + "type": "object", + "properties": { + "userId": { + "type": "string", + "description": "User id" + }, + "accountInfo": { + "$ref": "#/definitions/AccountInfo", + "description": "Dynatrace Account Information" + }, + "environmentInfo": { + "$ref": "#/definitions/EnvironmentInfo", + "description": "Dynatrace Environment Information" + }, + "singleSignOnProperties": { + "$ref": "#/definitions/DynatraceSingleSignOnProperties", + "description": "The details of a Dynatrace single sign-on." + } + }, + "description": "Properties of the Dynatrace environment." + }, + "UserInfo": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "description": "First Name of the user" + }, + "lastName": { + "type": "string", + "description": "Last Name of the user" + }, + "emailAddress": { + "$ref": "#/definitions/email", + "description": "Email of the user used by Dynatrace for contacting them if needed" + }, + "phoneNumber": { + "type": "string", + "maxLength": 40, + "description": "Phone number of the user used by Dynatrace for contacting them if needed" + }, + "country": { + "type": "string", + "description": "Country of the user" + } + }, + "description": "User info." + }, + "PlanData": { + "type": "object", + "properties": { + "usageType": { + "type": "string", + "description": "different usage type like PAYG/COMMITTED. this could be enum" + }, + "billingCycle": { + "type": "string", + "description": "different billing cycles like MONTHLY/WEEKLY. this could be enum" + }, + "planDetails": { + "type": "string", + "description": "plan id as published by Dynatrace" + }, + "effectiveDate": { + "type": "string", + "format": "date-time", + "description": "date when plan was applied" + } + }, + "description": "Billing plan information." + }, + "MonitoringTagRulesProperties": { + "type": "object", + "properties": { + "logRules": { + "$ref": "#/definitions/LogRules", + "description": "Set of rules for sending logs for the Monitor resource." + }, + "metricRules": { + "$ref": "#/definitions/MetricRules", + "description": "Set of rules for sending metrics for the Monitor resource." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + } + }, + "description": "Properties for the Tag rules resource of a Monitor account." + }, + "LogRules": { + "type": "object", + "properties": { + "sendAadLogs": { + "$ref": "#/definitions/SendAadLogsStatus", + "description": "Flag specifying if AAD logs should be sent for the Monitor resource." + }, + "sendSubscriptionLogs": { + "$ref": "#/definitions/SendSubscriptionLogsStatus", + "description": "Flag specifying if subscription logs should be sent for the Monitor resource." + }, + "sendActivityLogs": { + "$ref": "#/definitions/SendActivityLogsStatus", + "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource." + }, + "filteringTags": { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + }, + "x-cadl-name": "FilteringTag[]", + "x-ms-identifiers": [], + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured.\nIf only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + } + }, + "description": "Set of rules for sending logs for the Monitor resource." + }, + "MetricRules": { + "description": "Set of rules for sending metrics for the Monitor resource.", + "type": "object", + "properties": { + "sendingMetrics": { + "$ref": "#/definitions/SendingMetricsStatus", + "description": "Flag specifying if metrics from Azure resources should be sent for the Monitor resource." + }, + "filteringTags": { + "description": "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.", + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + }, + "x-ms-identifiers": [] + } + } + }, + "DynatraceSingleSignOnProperties": { + "type": "object", + "properties": { + "singleSignOnState": { + "$ref": "#/definitions/SingleSignOnStates", + "description": "State of Single Sign On" + }, + "enterpriseAppId": { + "type": "string", + "description": "Version of the Dynatrace agent installed on the VM." + }, + "singleSignOnUrl": { + "type": "string", + "description": "The login URL specific to this Dynatrace Environment" + }, + "aadDomains": { + "type": "array", + "items": { + "type": "string" + }, + "x-cadl-name": "string[]", + "description": "array of Aad(azure active directory) domains" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + } + }, + "description": "The details of a Dynatrace single sign-on." + }, + "SendingMetricsStatus": { + "type": "string", + "description": "Indicates whether metrics are being sent.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SendingMetricsStatus", + "modelAsString": true + } + }, + "SendingLogsStatus": { + "type": "string", + "description": "Indicates whether logs are being sent.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SendingLogsStatus", + "modelAsString": true + } + }, + "LiftrResourceCategories": { + "type": "string", + "description": "Liftr resource category", + "enum": [ + "Unknown", + "MonitorLogs" + ], + "x-ms-enum": { + "name": "LiftrResourceCategories", + "modelAsString": true + } + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning state of the monitoring resource", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ManagedIdentityType": { + "type": "string", + "description": "The kind of managed identity assigned to this resource.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAndUserAssigned" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The active directory client identifier for this principal." + }, + "principalId": { + "type": "string", + "description": "The active directory identifier for this principal." + } + }, + "description": "A managed identity assigned by the user.", + "required": [ + "clientId", + "principalId" + ] + }, + "AccountInfo": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "Account Id of the account this environment is linked to" + }, + "regionId": { + "type": "string", + "description": "Region in which the account is created" + } + }, + "description": "Dynatrace Account Information" + }, + "EnvironmentInfo": { + "type": "object", + "properties": { + "environmentId": { + "type": "string", + "description": "Id of the environment created" + }, + "ingestionKey": { + "type": "string", + "description": "Ingestion key of the environment" + }, + "logsIngestionEndpoint": { + "type": "string", + "description": "Ingestion endpoint used for sending logs" + }, + "landingURL": { + "type": "string", + "description": "Landing URL for Dynatrace environment" + } + }, + "description": "Dynatrace Environment Information" + }, + "LinkableEnvironmentRequest": { + "description": "Request for getting all the linkable environments for a user", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id of the user in which they want to link the environment" + }, + "userPrincipal": { + "type": "string", + "description": "user principal id of the user" + }, + "region": { + "type": "string", + "description": "Azure region in which we want to link the environment" + } + }, + "required": [ + "tenantId", + "userPrincipal", + "region" + ] + }, + "LinkableEnvironmentResponse": { + "description": "Response for getting all the linkable environments", + "type": "object", + "properties": { + "environmentId": { + "type": "string", + "description": "environment id for which user is an admin" + }, + "environmentName": { + "type": "string", + "description": "Name of the environment" + }, + "planData": { + "$ref": "#/definitions/PlanData", + "description": "Billing plan information." + } + } + }, + "LinkableEnvironmentListResponse": { + "description": "Response for getting all the linkable environments", + "type": "object", + "properties": { + "value": { + "description": "List of environments for which user is an admin", + "type": "array", + "items": { + "$ref": "#/definitions/LinkableEnvironmentResponse" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "MarketplaceSaaSResourceDetailsRequest": { + "description": "Request for getting Marketplace SaaS resource details for a tenant Id", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id" + } + }, + "required": [ + "tenantId" + ] + }, + "SSODetailsRequest": { + "description": "Request for getting sso details for a user", + "type": "object", + "properties": { + "userPrincipal": { + "type": "string", + "description": "user principal id of the user" + } + }, + "required": [ + "userPrincipal" + ] + }, + "SSODetailsResponse": { + "type": "object", + "properties": { + "isSsoEnabled": { + "$ref": "#/definitions/SSOStatus", + "description": "Whether the SSO is enabled for this resource or not." + }, + "metadataUrl": { + "type": "string", + "description": "URL for Azure AD metadata" + }, + "singleSignOnUrl": { + "type": "string", + "description": "The login URL specific to this Dynatrace Environment" + }, + "aadDomains": { + "type": "array", + "items": { + "type": "string" + }, + "description": "array of Aad(azure active directory) domains" + }, + "adminUsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of admin user emails." + } + }, + "description": "SSO details from the Dynatrace partner" + }, + "SSOStatus": { + "type": "string", + "description": "Indicates whether SSO is enabled or not", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SSOStatus", + "modelAsString": true + } + }, + "email": { + "type": "string", + "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$", + "description": "Reusable representation of an email address" + }, + "SendAadLogsStatus": { + "type": "string", + "description": "Indicates whether AAD logs are being sent.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SendAadLogsStatus", + "modelAsString": true + } + }, + "SendSubscriptionLogsStatus": { + "type": "string", + "description": "Indicates whether subscription logs are being sent.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SendSubscriptionLogsStatus", + "modelAsString": true + } + }, + "SendActivityLogsStatus": { + "type": "string", + "description": "Indicates whether activity logs are being sent.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SendActivityLogsStatus", + "modelAsString": true + } + }, + "FilteringTag": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name (also known as the key) of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + }, + "action": { + "$ref": "#/definitions/TagAction", + "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion." + } + }, + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored." + }, + "SingleSignOnStates": { + "type": "string", + "description": "Various states of the SSO resource", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ], + "x-ms-enum": { + "name": "SingleSignOnStates", + "modelAsString": true + } + }, + "TagAction": { + "type": "string", + "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.", + "enum": [ + "Include", + "Exclude" + ], + "x-ms-enum": { + "name": "TagAction", + "modelAsString": true + } + } + }, + "parameters": { + "MonitorNameParameter": { + "x-ms-parameter-location": "method", + "name": "monitorName", + "in": "path", + "required": true, + "description": "Monitor resource name", + "type": "string" + }, + "RuleSetNameParameter": { + "x-ms-parameter-location": "method", + "name": "ruleSetName", + "in": "path", + "required": true, + "description": "Monitor resource name", + "type": "string" + }, + "ConfigurationNameParameter": { + "x-ms-parameter-location": "method", + "name": "configurationName", + "in": "path", + "required": true, + "description": "Single Sign On Configuration Name", + "type": "string" + }, + "LinkableEnvRequestParameter": { + "x-ms-parameter-location": "method", + "name": "request", + "in": "body", + "required": true, + "description": "The details of the linkable environment request.", + "schema": { + "$ref": "#/definitions/LinkableEnvironmentRequest" + } + }, + "SSODetailsRequestParameter": { + "x-ms-parameter-location": "method", + "name": "request", + "in": "body", + "description": "The details of the get sso details request.", + "schema": { + "$ref": "#/definitions/SSODetailsRequest" + } + }, + "TenantIdParameter": { + "x-ms-parameter-location": "method", + "name": "request", + "in": "body", + "required": true, + "description": "Tenant Id", + "schema": { + "$ref": "#/definitions/MarketplaceSaaSResourceDetailsRequest" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..0110fa26ae7d --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "resource": { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "accountInfo": {}, + "environmentInfo": {}, + "singleSignOnProperties": {} + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "provisioningState": "Accepted" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MinimumSet_Gen.json new file mode 100644 index 000000000000..fa2c24aa2ba6 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_CreateOrUpdate_MinimumSet_Gen.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "resource": { + "properties": {}, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "properties": {}, + "location": "West US 2" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "properties": {}, + "location": "West US 2" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..361c7fb6eb55 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MaximumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..361c7fb6eb55 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Delete_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen.json new file mode 100644 index 000000000000..bf76ceb5fb86 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen.json @@ -0,0 +1,21 @@ +{ + "operationId": "Monitors_GetMarketplaceSaaSResourceDetails", + "title": "Monitors_GetMarketplaceSaaSResourceDetails_MaximumSet_Gen", + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "nqmcgifgaqlf", + "request": { + "tenantId": "urnmattojzhktcfw" + } + }, + "responses": { + "200": { + "body": { + "marketplaceSaaSResourceId": "owpmulwohq", + "planId": "dsfefsaf", + "marketplaceSubscriptionStatus": "Active" + } + }, + "404": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MinimumSet_Gen.json new file mode 100644 index 000000000000..66d64f70090f --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMarketplaceSaaSResourceDetails_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "operationId": "Monitors_GetMarketplaceSaaSResourceDetails", + "title": "Monitors_GetMarketplaceSaaSResourceDetails_MinumumSet_Gen", + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "nqmcgifgaqlf", + "request": { + "tenantId": "urnmattojzhktcfw" + } + }, + "responses": { + "200": { + "body": {} + }, + "404": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json new file mode 100644 index 000000000000..880422f99c8b --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "operationId": "Monitors_GetMetricStatus", + "title": "Monitors_GetMetricStatus_MaximumSet_Gen", + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "nqmcgifgaqlf", + "resourceGroupName": "rgDynatrace", + "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz" + }, + "responses": { + "200": { + "body": { + "azureResourceIds": [ + "/subscriptions/69b51384-146c-4685-9dab-5ae01877d78/resourceGroups/szytr-liftr/providers/Dynatrace.Observability/monitors/szytrz-prod-23-05-23" + ] + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json new file mode 100644 index 000000000000..47ccdfe4d734 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json @@ -0,0 +1,15 @@ +{ + "operationId": "Monitors_GetMetricStatus", + "title": "Monitors_GetMetricStatus_MinimumSet_Gen", + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "nqmcgifgaqlf", + "resourceGroupName": "rgDynatrace", + "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MaximumSet_Gen.json new file mode 100644 index 000000000000..e9d1b968153a --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MaximumSet_Gen.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "request": { + "userPrincipal": "alice@microsoft.com" + } + }, + "responses": { + "200": { + "body": { + "isSsoEnabled": "Enabled", + "metadataUrl": "https://someuri", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "adminUsers": [ + "alice@microsoft.com" + ] + } + }, + "401": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MinimumSet_Gen.json new file mode 100644 index 000000000000..7848814d9929 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetSSODetails_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "request": { + "userPrincipal": "alice@microsoft.com" + } + }, + "responses": { + "200": { + "body": {} + }, + "401": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MaximumSet_Gen.json new file mode 100644 index 000000000000..b89c8087ddfd --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MaximumSet_Gen.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "ingestionKey": "abcd.efg", + "environmentId": "abc123lsjlsfjlfjgd" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MinimumSet_Gen.json new file mode 100644 index 000000000000..5096e4bd5a1a --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_GetVMHostPayload_MinimumSet_Gen.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..b6e289556a49 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MaximumSet_Gen.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com", + "landingURL": "https://a23xcv456.dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..6574db41aa74 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Get_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "properties": {}, + "location": "West US 2" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MaximumSet_Gen.json new file mode 100644 index 000000000000..e71632cbef67 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MaximumSet_Gen.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtual1", + "version": "1.2.0", + "monitoringType": "CLOUD_INFRASTRUCTURE", + "autoUpdateSetting": "ENABLED", + "updateStatus": "INCOMPATIBLE", + "availabilityState": "CRASHED", + "logModule": "ENABLED", + "hostGroup": "myGroup", + "hostName": "myName" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MinimumSet_Gen.json new file mode 100644 index 000000000000..5096e4bd5a1a --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListAppServices_MinimumSet_Gen.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..5e269732b1f8 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com", + "landingURL": "https://a23xcv456.dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MinimumSet_Gen.json new file mode 100644 index 000000000000..8e87f8e23840 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListByResourceGroup_MinimumSet_Gen.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {}, + "location": "West US 2" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MaximumSet_Gen.json new file mode 100644 index 000000000000..696280441b23 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MaximumSet_Gen.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com", + "landingURL": "https://a23xcv456.dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MinimumSet_Gen.json new file mode 100644 index 000000000000..158b142a63c0 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListBySubscriptionId_MinimumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {}, + "location": "West US 2" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MaximumSet_Gen.json new file mode 100644 index 000000000000..e71632cbef67 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MaximumSet_Gen.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/virtual1", + "version": "1.2.0", + "monitoringType": "CLOUD_INFRASTRUCTURE", + "autoUpdateSetting": "ENABLED", + "updateStatus": "INCOMPATIBLE", + "availabilityState": "CRASHED", + "logModule": "ENABLED", + "hostGroup": "myGroup", + "hostName": "myName" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MinimumSet_Gen.json new file mode 100644 index 000000000000..5096e4bd5a1a --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListHosts_MinimumSet_Gen.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MaximumSet_Gen.json new file mode 100644 index 000000000000..dcf427b4caa2 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MaximumSet_Gen.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "request": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "userPrincipal": "alice@microsoft.com", + "region": "East US" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "environmentId": "abc.123", + "environmentName": "myEnv", + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + } + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MinimumSet_Gen.json new file mode 100644 index 000000000000..fc7902f80c51 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListLinkableEnvironments_MinimumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "request": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "userPrincipal": "alice@microsoft.com", + "region": "East US" + } + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json new file mode 100644 index 000000000000..77691e26522d --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/listMonitoredResources", + "sendingMetrics": "Enabled", + "reasonForMetricsStatus": "CapturedByRules", + "sendingLogs": "Enabled", + "reasonForLogsStatus": "CapturedByRules" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json new file mode 100644 index 000000000000..5096e4bd5a1a --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..115d3af12199 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MaximumSet_Gen.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "resource": { + "tags": { + "Environment": "Dev" + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "principalId": "4534676867978", + "tenantId": "23456789001", + "type": "SystemAssigned" + }, + "properties": { + "monitoringStatus": "Enabled", + "marketplaceSubscriptionStatus": "Active", + "dynatraceEnvironmentProperties": { + "userId": "alice123", + "accountInfo": { + "accountId": "1234567890", + "regionId": "wus2" + }, + "environmentInfo": { + "environmentId": "a23xcv456", + "ingestionKey": "1234567890", + "logsIngestionEndpoint": "https://dynatrace.com", + "landingURL": "https://a23xcv456.dynatrace.com" + }, + "singleSignOnProperties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bobab", + "emailAddress": "alice@microsoft.com", + "phoneNumber": "123456", + "country": "westus2" + }, + "planData": { + "usageType": "Committed", + "billingCycle": "Monthly", + "planDetails": "dynatraceapitestplan", + "effectiveDate": "2019-08-30T15:14:33+02:00" + }, + "liftrResourceCategory": "Unknown", + "liftrResourcePreference": 28, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Dynatrace.Observability/monitors" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MinimumSet_Gen.json new file mode 100644 index 000000000000..b2fc04dfc37e --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Monitors_Update_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "resource": {} + }, + "responses": { + "200": { + "body": { + "properties": {}, + "location": "West US 2" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..fa311635d889 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MaximumSet_Gen.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-27" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Dynatrace.Observability/monitors/write", + "isDataAction": true, + "display": { + "provider": "Dynatrace.Observability", + "resource": "monitors", + "operation": "write", + "description": "Write monitors resource" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..14440c0f2aa5 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/Operations_List_MinimumSet_Gen.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2023-04-27" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..c41ddfaf230b --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default", + "resource": { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "provisioningState": "Accepted" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "type": "Dynatrace.Observability/monitors" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "type": "Dynatrace.Observability/monitors" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MinimumSet_Gen.json new file mode 100644 index 000000000000..5b2707d1bf3c --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_CreateOrUpdate_MinimumSet_Gen.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default", + "resource": { + "properties": { + "singleSignOnUrl": "https://www.dynatrace.io", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..d89119061a0f --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MaximumSet_Gen.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "type": "Dynatrace.Observability/monitors" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..332bd90ac165 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_Get_MinimumSet_Gen.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..56e3abf2612d --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MaximumSet_Gen.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "singleSignOnState": "Enable", + "enterpriseAppId": "00000000-0000-0000-0000-000000000000", + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "type": "Dynatrace.Observability/monitors" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..d5dd93534b93 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/SingleSignOn_List_MinimumSet_Gen.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/singleSignOnConfigurations/default", + "properties": { + "singleSignOnUrl": "https://www.dynatrace.io/IAmSomeHash", + "aadDomains": [ + "mpliftrdt20210811outlook.onmicrosoft.com" + ] + } + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..a22a790fe3e4 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default", + "resource": { + "properties": { + "logRules": { + "sendAadLogs": "Enabled", + "sendSubscriptionLogs": "Enabled", + "sendActivityLogs": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "sendingMetrics": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + } + ] + }, + "provisioningState": "Accepted" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "logRules": { + "sendAadLogs": "Enabled", + "sendSubscriptionLogs": "Enabled", + "sendActivityLogs": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "sendingMetrics": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + } + ] + }, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "name": "default", + "type": "Dynatrace.Observability/monitors/tagRules" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "properties": { + "logRules": { + "sendAadLogs": "Enabled", + "sendSubscriptionLogs": "Enabled", + "sendActivityLogs": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "sendingMetrics": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + } + ] + }, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "name": "default", + "type": "Dynatrace.Observability/monitors/tagRules" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json new file mode 100644 index 000000000000..b23f3d8c56fe --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default", + "resource": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {} + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {} + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..45bc2f185b78 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MaximumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..45bc2f185b78 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Delete_MinimumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://foo.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..54c7b6f25af4 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MaximumSet_Gen.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "logRules": { + "sendAadLogs": "Enabled", + "sendSubscriptionLogs": "Enabled", + "sendActivityLogs": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "sendingMetrics": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + } + ] + }, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "name": "default", + "type": "Dynatrace.Observability/monitors/tagRules" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..407eacbcdcf7 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_Get_MinimumSet_Gen.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {} + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MaximumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..f21ea2a620b0 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MaximumSet_Gen.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "logRules": { + "sendAadLogs": "Enabled", + "sendSubscriptionLogs": "Enabled", + "sendActivityLogs": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + }, + "metricRules": { + "sendingMetrics": "Enabled", + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + } + ] + }, + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "alice@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-16T04:25:21.040Z", + "lastModifiedBy": "alice@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-16T04:25:21.040Z" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "name": "default", + "type": "Dynatrace.Observability/monitors/tagRules" + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MinimumSet_Gen.json b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..096ba6e903a7 --- /dev/null +++ b/specification/dynatrace/resource-manager/Dynatrace.Observability/stable/2023-04-27/examples/TagRules_List_MinimumSet_Gen.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-27", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Dynatrace.Observability/monitors/myMonitor/tagRules/default", + "properties": {} + } + ], + "nextLink": "null" + } + } + } +} diff --git a/specification/dynatrace/resource-manager/readme.md b/specification/dynatrace/resource-manager/readme.md index 5301f2c6467d..515361c1493e 100644 --- a/specification/dynatrace/resource-manager/readme.md +++ b/specification/dynatrace/resource-manager/readme.md @@ -1,6 +1,7 @@ # dynatrace > see https://aka.ms/autorest + This is the AutoRest configuration file for dynatrace. ## Getting Started @@ -8,9 +9,11 @@ This is the AutoRest configuration file for dynatrace. 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. --- @@ -24,16 +27,16 @@ These are the global settings for the dynatrace. ```yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2021-09-01 +tag: package-2023-04-27 ``` -### Tag: package-2021-09-01-preview +### Tag: package-2023-04-27 -These settings apply only when `--tag=package-2021-09-01-preview` is specified on the command line. +These settings apply only when `--tag=package-2023-04-27` is specified on the command line. -```yaml $(tag) == 'package-2021-09-01-preview' +```yaml $(tag) == 'package-2023-04-27' input-file: - - Dynatrace.Observability/preview/2021-09-01-preview/dynatrace.json + - Dynatrace.Observability/stable/2023-04-27/dynatrace.json ``` ### Tag: package-2021-09-01 @@ -45,6 +48,15 @@ input-file: - Dynatrace.Observability/stable/2021-09-01/dynatrace.json ``` +### Tag: package-2021-09-01-preview + +These settings apply only when `--tag=package-2021-09-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-09-01-preview' +input-file: + - Dynatrace.Observability/preview/2021-09-01-preview/dynatrace.json +``` + --- # Code Generation @@ -60,14 +72,20 @@ swagger-to-sdk: - 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 + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_dynatrace'] ``` -## Az +## Suppression -See configuration in [readme.az.md](./readme.az.md) +``` yaml +suppressions: + - code: SECRET_PROPERTY + from: Dynatrace.Observability/preview/2021-06-01-preview/dynatrace.json + where: $.definitions.VMIngestionDetailsResponse.properties.ingestionKey + reason: Secrets are OK to return in a POST response. +``` ## Go @@ -77,6 +95,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.python.md](./readme.python.md) +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + ## TypeScript See configuration in [readme.typescript.md](./readme.typescript.md) diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/elastic.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/elastic.json new file mode 100644 index 000000000000..82677642269f --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/elastic.json @@ -0,0 +1,2740 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Elastic", + "version": "2023-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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.Elastic/operations": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all operations provided by Microsoft.Elastic.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified subscription.", + "operationId": "Monitors_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" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_List": { + "$ref": "./examples/Monitors_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/elasticVersions": { + "get": { + "tags": [ + "ElasticVersions" + ], + "summary": "Get a list of available versions for a region.", + "operationId": "ElasticVersions_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" + }, + { + "in": "query", + "name": "region", + "description": "Region where elastic deployment will take place.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticVersionsListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ElasticVersions_List": { + "$ref": "./examples/ElasticVersions_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified resource group.", + "operationId": "Monitors_ListByResourceGroup", + "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" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListByResourceGroup": { + "$ref": "./examples/Monitors_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "Get the properties of a specific monitor resource.", + "operationId": "Monitors_Get", + "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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Get": { + "$ref": "./examples/Monitors_Get.json" + } + } + }, + "put": { + "tags": [ + "MonitorsResource" + ], + "summary": "Create a monitor resource.", + "operationId": "Monitors_Create", + "consumes": [ + "application/json" + ], + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic monitor resource model", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Monitors_Create": { + "$ref": "./examples/Monitors_Create.json" + } + } + }, + "patch": { + "tags": [ + "MonitorsResource" + ], + "summary": "Update a monitor resource.", + "operationId": "Monitors_Update", + "consumes": [ + "application/json" + ], + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic resource model update parameters.", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Update": { + "$ref": "./examples/Monitors_Update.json" + } + } + }, + "delete": { + "tags": [ + "MonitorsResource" + ], + "summary": "Delete a monitor resource.", + "operationId": "Monitors_Delete", + "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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_Delete": { + "$ref": "./examples/Monitors_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listMonitoredResources": { + "post": { + "tags": [ + "MonitoredResources" + ], + "summary": "List the resources currently being monitored by the Elastic monitor resource.", + "operationId": "MonitoredResources_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MonitoredResources_List": { + "$ref": "./examples/MonitoredResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listDeploymentInfo": { + "post": { + "tags": [ + "DeploymentInfo" + ], + "summary": "Fetch information regarding Elastic cloud deployment corresponding to the Elastic monitor resource.", + "operationId": "DeploymentInfo_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeploymentInfoResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "DeploymentInfo_List": { + "$ref": "./examples/DeploymentInfo_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/createOrUpdateExternalUser": { + "post": { + "tags": [ + "DeploymentInfo" + ], + "summary": "Create User inside elastic deployment which are used by customers to perform operations on the elastic deployment", + "operationId": "ExternalUser_CreateOrUpdate", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic External User Creation Parameters", + "schema": { + "$ref": "#/definitions/ExternalUserInfo" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExternalUserCreationResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "ExternalUser_CreateOrUpdate": { + "$ref": "./examples/ExternalUserInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/getBillingInfo": { + "post": { + "tags": [ + "ConnectedResources" + ], + "summary": "Get marketplace and organization info mapped to the given monitor.", + "operationId": "BillingInfo_Get", + "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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BillingInfoResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingInfo_Get": { + "$ref": "./examples/BillingInfo_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listConnectedPartnerResources": { + "post": { + "tags": [ + "ConnectedResources" + ], + "summary": "List of all active deployments that are associated with the marketplace subscription linked to the given monitor.", + "operationId": "ConnectedPartnerResources_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ConnectedPartnerResourcesListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConnectedPartnerResources_List": { + "$ref": "./examples/ConnectedPartnerResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules": { + "get": { + "tags": [ + "Rules" + ], + "summary": "List the tag rules for a given monitor resource.", + "operationId": "TagRules_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRulesListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TagRules_List": { + "$ref": "./examples/TagRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}": { + "put": { + "tags": [ + "Rules" + ], + "summary": "Create or update a tag rule set for a given monitor resource.", + "operationId": "TagRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "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": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + }, + { + "description": "request body of MonitoringTagRules", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_CreateOrUpdate": { + "$ref": "./examples/TagRules_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "Rules" + ], + "summary": "Get a tag rule set for a given monitor resource.", + "operationId": "TagRules_Get", + "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": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_Get": { + "$ref": "./examples/TagRules_Get.json" + } + } + }, + "delete": { + "tags": [ + "Rules" + ], + "summary": "Delete a tag rule set for a given monitor resource.", + "operationId": "TagRules_Delete", + "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": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TagRules_Delete": { + "$ref": "./examples/TagRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listVMHost": { + "post": { + "tags": [ + "VMHHostList" + ], + "summary": "List the vm resources currently being monitored by the Elastic monitor resource.", + "operationId": "VMHost_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VMHostListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VMHost_List": { + "$ref": "./examples/VMHost_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmIngestionDetails": { + "post": { + "tags": [ + "VMIngestionDetails" + ], + "summary": "List the vm ingestion details that will be monitored by the Elastic monitor resource.", + "operationId": "VMIngestion_Details", + "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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/VMIngestionDetailsResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "VMIngestion_Details": { + "$ref": "./examples/VMIngestion_Details.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmCollectionUpdate": { + "post": { + "tags": [ + "VMCollectionUpdate" + ], + "summary": "Update the vm details that will be monitored by the Elastic monitor resource.", + "operationId": "VMCollection_Update", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "VM resource Id", + "schema": { + "$ref": "#/definitions/VMCollectionUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "VMCollection_Update": { + "$ref": "./examples/VMCollection_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listUpgradableVersions": { + "post": { + "tags": [ + "MonitorUpgradableVersions" + ], + "summary": "List of upgradable versions for a given monitor resource.", + "operationId": "UpgradableVersions_Details", + "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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UpgradableVersionsList" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "UpgradableVersions_Details": { + "$ref": "./examples/UpgradableVersions_Details.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/upgrade": { + "post": { + "tags": [ + "DeploymentUpdate" + ], + "summary": "Upgradable version for a monitor resource.", + "operationId": "Monitor_Upgrade", + "consumes": [ + "application/json" + ], + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic Monitor Upgrade Parameters", + "schema": { + "$ref": "#/definitions/ElasticMonitorUpgrade" + } + } + ], + "responses": { + "202": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitor_Upgrade": { + "$ref": "./examples/Monitor_Upgrade.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listAllTrafficFilters": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Get the list of all traffic filters for the account.", + "operationId": "AllTrafficFilters_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticTrafficFilterResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "AllTrafficFilters_list": { + "$ref": "./examples/AllTrafficFilters_list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listAssociatedTrafficFilters": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Get the list of all associated traffic filters for the given deployment.", + "operationId": "listAssociatedTrafficFilters_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": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticTrafficFilterResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "listAssociatedTrafficFilters_list": { + "$ref": "./examples/AssociatedFiltersForDeployment_list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/createAndAssociateIPFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Create and Associate IP traffic filter for the given deployment.", + "operationId": "createAndAssociateIPFilter_Create", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "ips", + "description": "List of ips", + "type": "string" + }, + { + "in": "query", + "name": "name", + "description": "Name of the traffic filter", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "createAndAssociateIPFilter_Create": { + "$ref": "./examples/IPTrafficFilter_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/createAndAssociatePLFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Create and Associate private link traffic filter for the given deployment.", + "operationId": "createAndAssociatePLFilter_Create", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "name", + "description": "Name of the traffic filter", + "type": "string" + }, + { + "in": "query", + "name": "privateEndpointGuid", + "description": "Guid of the private endpoint", + "type": "string" + }, + { + "in": "query", + "name": "privateEndpointName", + "description": "Name of the private endpoint", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "createAndAssociatePLFilter_Create": { + "$ref": "./examples/PrivateLinkTrafficFilters_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/associateTrafficFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Associate traffic filter for the given deployment.", + "operationId": "AssociateTrafficFilter_Associate", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "rulesetId", + "description": "Ruleset Id of the filter", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "AssociateTrafficFilter_Associate": { + "$ref": "./examples/AssociateTrafficFilter_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/detachAndDeleteTrafficFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Detach and Delete traffic filter from the given deployment.", + "operationId": "DetachAndDeleteTrafficFilter_Delete", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "rulesetId", + "description": "Ruleset Id of the filter", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "DetachAndDeleteTrafficFilter_Delete": { + "$ref": "./examples/DetachAndDeleteTrafficFilter_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/detachTrafficFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Detach traffic filter for the given deployment.", + "operationId": "DetachTrafficFilter_Update", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "rulesetId", + "description": "Ruleset Id of the filter", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "DetachTrafficFilter_Update": { + "$ref": "./examples/DetachTrafficFilters_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/deleteTrafficFilter": { + "post": { + "tags": [ + "TrafficFilter" + ], + "summary": "Delete traffic filter from the account.", + "operationId": "TrafficFilters_Delete", + "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": "#/parameters/MonitorNameParameter" + }, + { + "in": "query", + "name": "rulesetId", + "description": "Ruleset Id of the filter", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TrafficFilters_Delete": { + "$ref": "./examples/TrafficFilters_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/getOrganizationApiKey": { + "post": { + "tags": [ + "ApiKey" + ], + "summary": "Fetch User API Key from internal database, if it was generated and stored while creating the Elasticsearch Organization.", + "description": "Fetch User API Key from internal database, if it was generated and stored while creating the Elasticsearch Organization.", + "operationId": "Organizations_GetApiKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "body", + "name": "body", + "description": "Email Id parameter of the User Organization, of which the API Key must be returned", + "schema": { + "$ref": "#/definitions/UserEmailId" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UserApiKeyResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Organizations_GetApiKey": { + "$ref": "./examples/Organizations_GetApiKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/getElasticOrganizationToAzureSubscriptionMapping": { + "post": { + "tags": [ + "UserOrganization" + ], + "summary": "Get Elastic Organization To Azure Subscription Mapping details for the logged-in user.", + "description": "Get Elastic Organization To Azure Subscription Mapping details for the logged-in user.", + "operationId": "Organizations_GetElasticToAzureSubscriptionMapping", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticOrganizationToAzureSubscriptionMappingResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Organizations_GetElasticToAzureSubscriptionMapping": { + "$ref": "./examples/Organizations_GetElasticToAzureSubscriptionMapping.json" + } + } + } + } + }, + "definitions": { + "ErrorResponseBody": { + "description": "Error response body.", + "title": "ErrorResponseBody", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Error target.", + "type": "string" + }, + "details": { + "description": "Error details.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "description": "RP default error response.", + "type": "object", + "properties": { + "error": { + "description": "Response body of Error", + "readOnly": true, + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider, i.e., Microsoft.Elastic.", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'monitors'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write monitors'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "A Microsoft.Elastic REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name, i.e., {provider}/{resource}/{operation}.", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list the Microsoft.Elastic operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Elastic provider.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "Microsoft.Elastic SKU.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the SKU.", + "type": "string" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "description": "Provisioning state of Elastic resource.", + "title": "ProvisioningState", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "MonitoringStatus": { + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MonitoringStatus" + } + }, + "ElasticCloudUser": { + "description": "Details of the user's elastic account.", + "type": "object", + "properties": { + "emailAddress": { + "description": "Email of the Elastic User Account.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "User Id of the elastic account of the User.", + "type": "string", + "readOnly": true + }, + "elasticCloudSsoDefaultUrl": { + "description": "Elastic cloud default dashboard sso URL of the Elastic user account.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticCloudDeployment": { + "description": "Details of the user's elastic deployment associated with the monitor resource.", + "type": "object", + "properties": { + "name": { + "description": "Elastic deployment name", + "type": "string", + "readOnly": true + }, + "deploymentId": { + "description": "Elastic deployment Id", + "type": "string", + "readOnly": true + }, + "azureSubscriptionId": { + "description": "Associated Azure subscription Id for the elastic deployment.", + "type": "string", + "readOnly": true + }, + "elasticsearchRegion": { + "description": "Region where Deployment at Elastic side took place.", + "type": "string", + "readOnly": true + }, + "elasticsearchServiceUrl": { + "description": "Elasticsearch ingestion endpoint of the Elastic deployment.", + "type": "string", + "readOnly": true + }, + "kibanaServiceUrl": { + "description": "Kibana endpoint of the Elastic deployment.", + "type": "string", + "readOnly": true + }, + "kibanaSsoUrl": { + "description": "Kibana dashboard sso URL of the Elastic deployment.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticProperties": { + "description": "Elastic Resource Properties.", + "type": "object", + "properties": { + "elasticCloudUser": { + "description": "Details of the user's elastic account.", + "$ref": "#/definitions/ElasticCloudUser" + }, + "elasticCloudDeployment": { + "description": "Details of the elastic cloud deployment.", + "$ref": "#/definitions/ElasticCloudDeployment" + } + } + }, + "CompanyInfo": { + "description": "Company information of the user to be passed to partners.", + "type": "object", + "properties": { + "domain": { + "description": "Domain of the company", + "maxLength": 250, + "type": "string" + }, + "business": { + "description": "Business of the company", + "maxLength": 64, + "type": "string" + }, + "employeesNumber": { + "description": "Number of employees in the company", + "maxLength": 20, + "type": "string" + }, + "state": { + "description": "State of the company location.", + "maxLength": 64, + "type": "string" + }, + "country": { + "description": "Country of the company location.", + "maxLength": 64, + "type": "string" + } + } + }, + "UserInfo": { + "description": "User Information to be passed to partners.", + "type": "object", + "properties": { + "firstName": { + "description": "First name of the user", + "maxLength": 50, + "type": "string" + }, + "lastName": { + "description": "Last name of the user", + "maxLength": 50, + "type": "string" + }, + "companyName": { + "description": "Company name of the user", + "maxLength": 64, + "type": "string" + }, + "emailAddress": { + "description": "Email of the user used by Elastic for contacting them if needed", + "pattern": "^([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)@(([a-zA-Z-_0-9]+\\.)+[a-zA-Z]{2,})$", + "type": "string" + }, + "companyInfo": { + "description": "Company information of the user to be passed to partners.", + "$ref": "#/definitions/CompanyInfo" + } + } + }, + "LiftrResourceCategories": { + "enum": [ + "Unknown", + "MonitorLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "LiftrResourceCategories" + }, + "readOnly": true + }, + "MonitorProperties": { + "description": "Properties specific to the monitor resource.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the monitor resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "monitoringStatus": { + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "$ref": "#/definitions/MonitoringStatus" + }, + "elasticProperties": { + "description": "Elastic cloud properties.", + "$ref": "#/definitions/ElasticProperties" + }, + "userInfo": { + "description": "User information.", + "$ref": "#/definitions/UserInfo", + "x-ms-mutability": [ + "create" + ] + }, + "version": { + "description": "Version of elastic of the monitor resource", + "type": "string" + }, + "liftrResourceCategory": { + "$ref": "#/definitions/LiftrResourceCategories" + }, + "liftrResourcePreference": { + "description": "The priority of the resource.", + "format": "int32", + "type": "integer", + "readOnly": true + }, + "generateApiKey": { + "description": "Flag to determine if User API Key has to be generated and shared.", + "type": "boolean" + } + } + }, + "ManagedIdentityTypes": { + "enum": [ + "SystemAssigned" + ], + "type": "string", + "description": "Managed Identity types.", + "x-ms-enum": { + "modelAsString": true, + "name": "ManagedIdentityTypes" + } + }, + "IdentityProperties": { + "description": "Identity properties.", + "type": "object", + "properties": { + "principalId": { + "description": "The identity ID.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Managed identity type.", + "$ref": "#/definitions/ManagedIdentityTypes" + } + } + }, + "ElasticMonitorResource": { + "description": "Monitor resource.", + "required": [ + "location" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the monitor resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the monitor resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the monitor resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "SKU of the monitor resource.", + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "description": "Properties of the monitor resource.", + "$ref": "#/definitions/MonitorProperties", + "x-ms-client-flatten": false + }, + "identity": { + "description": "Identity properties of the monitor resource.", + "$ref": "#/definitions/IdentityProperties" + }, + "tags": { + "description": "The tags of the monitor resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "The location of the monitor resource", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData" + } + } + }, + "ElasticMonitorResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "ElasticMonitorResourceUpdateParameters": { + "description": "Monitor resource update parameters.", + "type": "object", + "properties": { + "tags": { + "description": "elastic monitor resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SendingLogs": { + "enum": [ + "True", + "False" + ], + "type": "string", + "description": "Flag indicating the status of the resource for sending logs operation to Elastic.", + "title": "SendingLogs", + "x-ms-enum": { + "modelAsString": true, + "name": "SendingLogs" + } + }, + "MonitoredResource": { + "description": "The properties of a resource currently being monitored by the Elastic monitor resource.", + "type": "object", + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string" + }, + "sendingLogs": { + "description": "Flag indicating the status of the resource for sending logs operation to Elastic.", + "$ref": "#/definitions/SendingLogs" + }, + "reasonForLogsStatus": { + "description": "Reason for why the resource is sending logs (or why it is not sending).", + "type": "string" + } + } + }, + "MonitoredResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/MonitoredResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "TagAction": { + "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.", + "enum": [ + "Include", + "Exclude" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TagAction" + } + }, + "FilteringTag": { + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored.", + "type": "object", + "properties": { + "name": { + "description": "The name (also known as the key) of the tag.", + "type": "string" + }, + "value": { + "description": "The value of the tag.", + "type": "string" + }, + "action": { + "description": "Valid actions for a filtering tag.", + "$ref": "#/definitions/TagAction" + } + } + }, + "ElasticVersionListFormat": { + "description": "Elastic Version List Format", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ElasticVersionListProperties" + } + } + }, + "ElasticVersionListProperties": { + "description": "Elastic Version Properties", + "type": "object", + "properties": { + "version": { + "description": "Available elastic version of the given region", + "type": "string" + } + } + }, + "ElasticVersionsListResponse": { + "description": "List of elastic versions available in a region.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticVersionListFormat" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "LogRules": { + "description": "Set of rules for sending logs for the Monitor resource.", + "type": "object", + "properties": { + "sendAadLogs": { + "description": "Flag specifying if AAD logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendSubscriptionLogs": { + "description": "Flag specifying if subscription logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendActivityLogs": { + "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.", + "type": "boolean" + }, + "filteringTags": { + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/FilteringTag" + } + } + } + }, + "MonitoringTagRulesProperties": { + "description": "Definition of the properties for a TagRules resource.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the monitoring tag rules.", + "$ref": "#/definitions/ProvisioningState" + }, + "logRules": { + "description": "Rules for sending logs.", + "$ref": "#/definitions/LogRules" + } + } + }, + "MonitoringTagRules": { + "description": "Capture logs and metrics of Azure resources based on ARM tags.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "description": "Name of the rule set.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the rule set.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the rule set.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the monitoring tag rules.", + "$ref": "#/definitions/MonitoringTagRulesProperties", + "x-ms-client-flatten": false + }, + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData" + } + } + }, + "MonitoringTagRulesListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "BillingInfoResponse": { + "description": "Marketplace Subscription and Organization details to which resource gets billed into.", + "type": "object", + "properties": { + "marketplaceSaasInfo": { + "description": "Marketplace Subscription details", + "$ref": "#/definitions/MarketplaceSaaSInfo" + }, + "partnerBillingEntity": { + "description": "Partner Billing Entity details: Organization Info", + "$ref": "#/definitions/PartnerBillingEntity" + } + } + }, + "MarketplaceSaaSInfo": { + "description": "Marketplace SAAS Info of the resource.", + "type": "object", + "properties": { + "marketplaceSubscription": { + "description": "Marketplace Subscription", + "type": "object", + "properties": { + "id": { + "description": "Marketplace Subscription Id. This is a GUID-formatted string.", + "type": "string" + } + } + }, + "marketplaceName": { + "description": "Marketplace Subscription Details: SAAS Name", + "type": "string" + }, + "marketplaceResourceId": { + "description": "Marketplace Subscription Details: Resource URI", + "type": "string" + }, + "marketplaceStatus": { + "description": "Marketplace Subscription Details: SaaS Subscription Status", + "type": "string" + }, + "billedAzureSubscriptionId": { + "description": "The Azure Subscription ID to which the Marketplace Subscription belongs and gets billed into.", + "type": "string" + }, + "subscribed": { + "description": "Flag specifying if the Marketplace status is subscribed or not.", + "type": "boolean" + } + } + }, + "PartnerBillingEntity": { + "description": "Partner Billing details associated with the resource.", + "type": "object", + "properties": { + "id": { + "description": "The Elastic Organization Id.", + "type": "string" + }, + "name": { + "description": "The Elastic Organization Name.", + "type": "string" + }, + "partnerEntityUri": { + "description": "Link to the elastic organization page", + "type": "string" + } + } + }, + "ConnectedPartnerResourceProperties": { + "description": "Connected Partner Resource Properties", + "type": "object", + "properties": { + "partnerDeploymentName": { + "description": "Elastic deployment name", + "type": "string" + }, + "partnerDeploymentUri": { + "description": "Deployment URL of the elasticsearch in Elastic cloud deployment.", + "type": "string" + }, + "azureResourceId": { + "description": "The azure resource Id of the deployment.", + "type": "string" + }, + "location": { + "description": "The location of the deployment.", + "type": "string" + } + } + }, + "ConnectedPartnerResourcesListFormat": { + "description": "Connected Partner Resources List Format", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConnectedPartnerResourceProperties" + } + } + }, + "ConnectedPartnerResourcesListResponse": { + "description": " List of all active elastic deployments.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectedPartnerResourcesListFormat" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "ElasticDeploymentStatus": { + "description": "Flag specifying if the Elastic deployment status is healthy or not.", + "enum": [ + "Healthy", + "Unhealthy" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ElasticDeploymentStatus" + } + }, + "DeploymentInfoResponse": { + "description": "The properties of deployment in Elastic cloud corresponding to the Elastic monitor resource.", + "type": "object", + "properties": { + "status": { + "description": "The Elastic deployment status.", + "$ref": "#/definitions/ElasticDeploymentStatus", + "readOnly": true + }, + "version": { + "description": "Version of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "memoryCapacity": { + "description": "RAM capacity of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "diskCapacity": { + "description": "Disk capacity of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "deploymentUrl": { + "description": "Deployment URL of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "marketplaceSaasInfo": { + "description": "Marketplace SaaS Info of the resource.", + "$ref": "#/definitions/MarketplaceSaaSInfo", + "readOnly": true + } + } + }, + "ExternalUserCreationResponse": { + "description": "The properties of the response we got from elastic while creating external user", + "type": "object", + "properties": { + "created": { + "description": "Shows if user is created or updated", + "type": "boolean", + "readOnly": true + } + } + }, + "ExternalUserInfo": { + "description": "The properties of the request required for creating user on elastic side", + "type": "object", + "properties": { + "userName": { + "description": "Username of the user to be created or updated", + "type": "string" + }, + "fullName": { + "description": "Full name of the user to be created or updated", + "type": "string" + }, + "password": { + "x-ms-secret": true, + "description": "Password of the user to be created or updated", + "type": "string" + }, + "emailId": { + "description": "Email id of the user to be created or updated", + "type": "string" + }, + "roles": { + "description": "Roles to be assigned for created or updated user", + "type": "array", + "x-ms-identifiers": [], + "items": { + "type": "string" + } + } + } + }, + "VMHostListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/VMResources" + } + }, + "nextLink": { + "description": "Link to the next Vm resource Id, if any.", + "type": "string" + } + } + }, + "VMResources": { + "description": "The vm resource properties that is currently being monitored by the Elastic monitor resource.", + "type": "object", + "properties": { + "vmResourceId": { + "description": "The ARM id of the VM resource.", + "type": "string" + } + } + }, + "VMIngestionDetailsResponse": { + "description": "The vm ingestion details to install an agent.", + "type": "object", + "properties": { + "cloudId": { + "description": "The cloudId of given Elastic monitor resource.", + "type": "string" + }, + "ingestionKey": { + "description": "Ingestion details to install agent on given VM.", + "type": "string", + "x-ms-secret": true + } + } + }, + "OperationName": { + "enum": [ + "Add", + "Delete" + ], + "type": "string", + "description": "Operation to be performed on the given vm resource id.", + "title": "OperationName", + "x-ms-enum": { + "modelAsString": true, + "name": "OperationName" + } + }, + "VMCollectionUpdate": { + "description": "Update VM resource collection.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "vmResourceId": { + "description": "ARM id of the VM resource.", + "type": "string" + }, + "operationName": { + "description": "Operation to be performed for given VM.", + "$ref": "#/definitions/OperationName" + } + } + }, + "UpgradableVersionsList": { + "description": "Stack Versions that this version can upgrade to", + "type": "object", + "properties": { + "currentVersion": { + "type": "string", + "description": "Current version of the elastic monitor" + }, + "upgradableVersions": { + "type": "array", + "x-ms-identifiers": [], + "description": "Stack Versions that this version can upgrade to", + "items": { + "type": "string" + } + } + } + }, + "ElasticTrafficFilterResponse": { + "description": "List of elastic traffic filters in the account", + "type": "object", + "properties": { + "rulesets": { + "type": "array", + "x-ms-identifiers": [], + "description": "List of elastic traffic filters in the account", + "items": { + "$ref": "#/definitions/ElasticTrafficFilter" + } + } + } + }, + "ElasticTrafficFilter": { + "description": "Elastic traffic filter object", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the elastic filter" + }, + "name": { + "type": "string", + "description": "Name of the elastic filter" + }, + "description": { + "type": "string", + "description": "Description of the elastic filter" + }, + "region": { + "type": "string", + "description": "Region of the elastic filter" + }, + "type": { + "enum": [ + "ip", + "azure_private_endpoint" + ], + "type": "string", + "description": "Type of the elastic filter", + "x-ms-enum": { + "modelAsString": true, + "name": "type" + } + }, + "includeByDefault": { + "type": "boolean", + "description": "IncludeByDefault for the elastic filter" + }, + "rules": { + "type": "array", + "description": "Rules in the elastic filter", + "items": { + "$ref": "#/definitions/ElasticTrafficFilterRule" + } + } + } + }, + "ElasticTrafficFilterRule": { + "description": "Elastic traffic filter rule object", + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "IP of the elastic filter rule" + }, + "description": { + "type": "string", + "description": "Description of the elastic filter rule" + }, + "azureEndpointGuid": { + "type": "string", + "description": "Guid of Private Endpoint in the elastic filter rule" + }, + "azureEndpointName": { + "type": "string", + "description": "Name of the Private Endpoint in the elastic filter rule" + }, + "id": { + "type": "string", + "description": "Id of the elastic filter rule" + } + } + }, + "ElasticMonitorUpgrade": { + "description": "Upgrade elastic monitor version", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version to which the elastic monitor should be upgraded to" + } + } + }, + "UserEmailId": { + "description": "Email Id of the User Organization, of which the API Key must be returned", + "type": "object", + "properties": { + "emailId": { + "type": "string", + "description": "The User email Id" + } + } + }, + "UserApiKeyResponse": { + "description": "The User Api Key created for the Organization associated with the User Email Id that was passed in the request", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UserApiKeyResponseProperties" + } + } + }, + "UserApiKeyResponseProperties": { + "type": "object", + "properties": { + "apiKey": { + "description": "The User Api Key Generated based on GenerateApiKey flag. This is applicable for non-Portal clients only.", + "type": "string", + "x-ms-secret": true + } + } + }, + "ElasticOrganizationToAzureSubscriptionMappingResponse": { + "description": "The Azure Subscription ID to which the Organization of the logged in user belongs and gets billed into.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ElasticOrganizationToAzureSubscriptionMappingResponseProperties" + } + } + }, + "ElasticOrganizationToAzureSubscriptionMappingResponseProperties": { + "description": "The properties of Azure Subscription ID to which the Organization of the logged in user belongs and gets billed into.", + "type": "object", + "properties": { + "billedAzureSubscriptionId": { + "description": "The Azure Subscription ID to which the Organization belongs and gets billed into. This is empty for a new user OR a user without an Elastic Organization.", + "type": "string" + }, + "marketplaceSaasInfo": { + "description": "Marketplace SaaS Info of the resource.", + "$ref": "#/definitions/MarketplaceSaaSInfo", + "readOnly": true + }, + "elasticOrganizationId": { + "description": "The Elastic Organization Id.", + "type": "string" + }, + "elasticOrganizationName": { + "description": "The Elastic Organization Name.", + "type": "string" + } + } + } + }, + "parameters": { + "MonitorNameParameter": { + "in": "path", + "name": "monitorName", + "description": "Monitor resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleSetNameParameter": { + "in": "path", + "name": "ruleSetName", + "description": "Tag Rule Set resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AllTrafficFilters_list.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AllTrafficFilters_list.json new file mode 100644 index 000000000000..5a19c8be28f3 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AllTrafficFilters_list.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "rulesets": [ + { + "id": "31d91b5afb6f4c2eaaf104c97b1991dd", + "name": "IPFromApi", + "description": "created from azure", + "type": "ip", + "includeByDefault": false, + "region": "azure-eastus", + "rules": [ + { + "id": "f0297dad72af4a5e964cddf817f35e65", + "description": "Allow inbound traffic from IP address 192.168.131.0", + "source": "192.168.131.0" + }, + { + "id": "f9c00169f0e54931ae72aabde326b589", + "description": "Allow inbound traffic from IP address block 192.168.132.6/22", + "source": "192.168.132.6/22" + } + ] + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociateTrafficFilter_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociateTrafficFilter_Update.json new file mode 100644 index 000000000000..3dcae25fd5da --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociateTrafficFilter_Update.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/associateTrafficFilter?api-version=2023-07-01-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociatedFiltersForDeployment_list.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociatedFiltersForDeployment_list.json new file mode 100644 index 000000000000..5a19c8be28f3 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/AssociatedFiltersForDeployment_list.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "rulesets": [ + { + "id": "31d91b5afb6f4c2eaaf104c97b1991dd", + "name": "IPFromApi", + "description": "created from azure", + "type": "ip", + "includeByDefault": false, + "region": "azure-eastus", + "rules": [ + { + "id": "f0297dad72af4a5e964cddf817f35e65", + "description": "Allow inbound traffic from IP address 192.168.131.0", + "source": "192.168.131.0" + }, + { + "id": "f9c00169f0e54931ae72aabde326b589", + "description": "Allow inbound traffic from IP address block 192.168.132.6/22", + "source": "192.168.132.6/22" + } + ] + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/BillingInfo_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/BillingInfo_Get.json new file mode 100644 index 000000000000..2592e0161baa --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/BillingInfo_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "marketplaceSaasInfo": { + "marketplaceSubscription": { + "id": "12345678-1234-1234-1234-123456789012" + }, + "marketplaceName": "MP_RESOURCE", + "marketplaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SaaS/resources/AzElastic_b1190c8f", + "marketplaceStatus": "Status", + "billedAzureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "subscribed": true + }, + "partnerBillingEntity": { + "id": "1234567890", + "name": "elasticOrganizationName", + "partnerEntityUri": "https://example.com" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ConnectedPartnerResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ConnectedPartnerResources_List.json new file mode 100644 index 000000000000..9e13eaf7447e --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ConnectedPartnerResources_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerDeploymentName": "deploymentname", + "partnerDeploymentUri": "https://examplessourl.com", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "location": "West US 2" + } + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DeploymentInfo_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DeploymentInfo_List.json new file mode 100644 index 000000000000..c57b1f286806 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DeploymentInfo_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "status": "Healthy", + "version": "7.9.3", + "memoryCapacity": "1024", + "diskCapacity": "245760", + "deploymentUrl": "https://endpoint.eastus.kb.azure.elastic-cloud.com:9243", + "marketplaceSaasInfo": { + "marketplaceSubscription": { + "id": "12345678-1234-1234-1234-123456789012" + }, + "marketplaceName": "MP_RESOURCE", + "marketplaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SaaS/resources/AzElastic_b1190c8f", + "marketplaceStatus": "Status" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachAndDeleteTrafficFilter_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachAndDeleteTrafficFilter_Delete.json new file mode 100644 index 000000000000..15cca9dcec35 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachAndDeleteTrafficFilter_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd" + }, + "responses": { + "200": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachTrafficFilters_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachTrafficFilters_Update.json new file mode 100644 index 000000000000..d64dda9dd956 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/DetachTrafficFilters_Update.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/detachTrafficFilter?api-version=2023-07-01-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ElasticVersions_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ElasticVersions_List.json new file mode 100644 index 000000000000..0175fe7e2cce --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ElasticVersions_List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "region": "myregion", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "version1" + } + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ExternalUserInfo.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ExternalUserInfo.json new file mode 100644 index 000000000000..5a2f343bb573 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/ExternalUserInfo.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "UserName": "newuser", + "FullName": "fullname", + "Password": "Password", + "EmailId": "myemail@outlook.com", + "Roles": [ + "admin", + "other_role1" + ] + } + }, + "responses": { + "200": { + "body": { + "created": true + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/IPTrafficFilter_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/IPTrafficFilter_Create.json new file mode 100644 index 000000000000..f2823750bfa7 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/IPTrafficFilter_Create.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd", + "ips": "192.168.131.0, 192.168.132.6/22" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/createAndAssociateIPFilter?api-version=2023-07-01-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitor_Upgrade.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitor_Upgrade.json new file mode 100644 index 000000000000..5a6ea965a178 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitor_Upgrade.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "version": "7.15.1" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/upgrade?api-version=2023-07-01-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/MonitoredResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/MonitoredResources_List.json new file mode 100644 index 000000000000..5263ad420491 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/MonitoredResources_List.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVault", + "sendingLogs": "True", + "reasonForLogsStatus": "CapturedByRules" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Create.json new file mode 100644 index 000000000000..7924b14668a6 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "name": "myMonitor", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "userInfo": { + "firstName": "Alice", + "lastName": "Bob", + "companyName": "Microsoft", + "emailAddress": "alice@microsoft.com", + "companyInfo": { + "domain": "microsoft.com", + "business": "Technology", + "employeeNumber": "10000", + "state": "WA", + "country": "US" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Accepted", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Delete.json new file mode 100644 index 000000000000..715877875074 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname?api-version=2022-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Get.json new file mode 100644 index 000000000000..7fdbff531f66 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_List.json new file mode 100644 index 000000000000..1fa3bb57d8d5 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_ListByResourceGroup.json new file mode 100644 index 000000000000..420ca00f2c13 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_ListByResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Update.json new file mode 100644 index 000000000000..a560d5b59e62 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Monitors_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "name": "myMonitor", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bob", + "companyName": "Microsoft", + "emailAddress": "alice@microsoft.com", + "companyInfo": { + "domain": "microsoft.com", + "business": "Technology", + "employeeNumber": "10000", + "state": "WA", + "country": "US" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Operations_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..90e82bbc7a0d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Elastic/monitors/write", + "display": { + "provider": "Microsoft.Elastic", + "resource": "monitors", + "operation": "write", + "description": "Write monitors resource" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetApiKey.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetApiKey.json new file mode 100644 index 000000000000..9305b42b143e --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetApiKey.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "requestBody": { + "emailId": "myemail@outlook.com" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "apiKey": "AbCdEfGhIjKlMnOpQrStUvWxYz" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json new file mode 100644 index 000000000000..831003aca636 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "billedAzureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "marketplaceSaasInfo": { + "marketplaceSubscription": { + "id": "12345678-1234-1234-1234-123456789012" + }, + "marketplaceName": "MP_RESOURCE", + "marketplaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SaaS/resources/AzElastic_b1190c8f", + "marketplaceStatus": "Status" + }, + "elasticOrganizationId": "1234567890", + "elasticOrganizationName": "elasticOrganizationName" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/PrivateLinkTrafficFilters_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/PrivateLinkTrafficFilters_Create.json new file mode 100644 index 000000000000..6bd40fe422a1 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/PrivateLinkTrafficFilters_Create.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd", + "privateEndpointName": "myPrivateEndpoint", + "privateEndpointGuid": "fdb54d3b-e85e-4d08-8958-0d2f7g523df9" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/createAndAssociatePLFilter?api-version=2022-07-01-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_CreateOrUpdate.json new file mode 100644 index 000000000000..1d2ee890d194 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default", + "requestBody": { + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Delete.json new file mode 100644 index 000000000000..9e0d5075999d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/tagRules/tagRuleName?api-version=2023-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Get.json new file mode 100644 index 000000000000..cfe84ebe21d2 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_List.json new file mode 100644 index 000000000000..3be1f2ee6863 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TagRules_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TrafficFilters_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TrafficFilters_Delete.json new file mode 100644 index 000000000000..15cca9dcec35 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/TrafficFilters_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "rulesetId": "31d91b5afb6f4c2eaaf104c97b1991dd" + }, + "responses": { + "200": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/UpgradableVersions_Details.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/UpgradableVersions_Details.json new file mode 100644 index 000000000000..e9ff9647ced0 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/UpgradableVersions_Details.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "currentVersion": "7.15.0", + "upgradableVersions": [ + "7.15.1", + "7.16.0" + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMCollection_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMCollection_Update.json new file mode 100644 index 000000000000..eac0002c252f --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMCollection_Update.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "vmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualmachines/myVM", + "operationName": "Add" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMHost_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMHost_List.json new file mode 100644 index 000000000000..b08685b2365c --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMHost_List.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualmachines/myVM" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMIngestion_Details.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMIngestion_Details.json new file mode 100644 index 000000000000..58ad8ef71e2f --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2023-07-01-preview/examples/VMIngestion_Details.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "cloudId": "myid123", + "ingestionKey": "Vmingeationkey" + } + } + } +} diff --git a/specification/elastic/resource-manager/readme.md b/specification/elastic/resource-manager/readme.md index 8063dd545b9a..65b4e21c23fc 100644 --- a/specification/elastic/resource-manager/readme.md +++ b/specification/elastic/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the elastic. ```yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2023-06-15-preview +tag: package-2023-07-01-preview ``` ### Tag: package-2021-09-01-preview @@ -129,6 +129,15 @@ input-file: - Microsoft.Elastic/preview/2023-06-15-preview/elastic.json ``` +### Tag: package-2023-07-01-preview + +These settings apply only when `--tag=package-2023-07-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-07-01-preview' +input-file: + - Microsoft.Elastic/preview/2023-07-01-preview/elastic.json +``` + --- # Code Generation diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/elasticsan.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/elasticsan.json new file mode 100644 index 000000000000..0680f4e32b69 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/elasticsan.json @@ -0,0 +1,2210 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-12-01-preview", + "title": "ElasticSanManagement" + }, + "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" + } + } + }, + "tags": [ + { + "name": "ElasticSans", + "description": "APIs for ElasticSan operations." + }, + { + "name": "ElasticSanOperations", + "description": "APIs for ElasticSan operations," + }, + { + "name": "VolumeGroups", + "description": "APIs for Volume Group operations." + }, + { + "name": "Volumes", + "description": "APIs for Volume operations." + } + ], + "paths": { + "/providers/Microsoft.ElasticSan/operations": { + "get": { + "tags": [ + "Elastic San Operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of ElasticSan operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Operations_List_MaximumSet_Gen": { + "$ref": "./examples/Operations_List_MaximumSet_Gen.json" + }, + "Operations_List_MinimumSet_Gen": { + "$ref": "./examples/Operations_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus": { + "get": { + "tags": [ + "Elastic San Skus" + ], + "summary": "List all the available Skus in the region and information related to them", + "operationId": "Skus_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='location eq ' to filter on location.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Lists the available SKUs supported by Microsoft.ElasticSan for given subscription.", + "schema": { + "$ref": "#/definitions/SkuInformationList" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Skus_List_MaximumSet_Gen": { + "$ref": "./examples/Skus_List_MaximumSet_Gen.json" + }, + "Skus_List_MinimumSet_Gen": { + "$ref": "./examples/Skus_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans": { + "get": { + "tags": [ + "ElasticSans" + ], + "operationId": "ElasticSans_ListBySubscription", + "description": "Gets a list of ElasticSans in a subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation completed successfully; retrieved Elastic San by subscription", + "schema": { + "$ref": "#/definitions/ElasticSanList" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ElasticSans_ListBySubscription_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json" + }, + "ElasticSans_ListBySubscription_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans": { + "get": { + "tags": [ + "ElasticSan" + ], + "operationId": "ElasticSans_ListByResourceGroup", + "description": "Gets a list of ElasticSan in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation completed successfully; retrieved elasticSans by resource group", + "schema": { + "$ref": "#/definitions/ElasticSanList" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ElasticSans_ListByResourceGroup_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json" + }, + "ElasticSans_ListByResourceGroup_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}": { + "put": { + "tags": [ + "ElasticSans" + ], + "operationId": "ElasticSans_Create", + "description": "Create ElasticSan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ElasticSan" + }, + "description": "Elastic San object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Resource Create or Update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/ElasticSan" + } + }, + "201": { + "description": "Created -- Resource Create; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ElasticSan" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ElasticSans_Create_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_Create_MaximumSet_Gen.json" + }, + "ElasticSans_Create_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_Create_MinimumSet_Gen.json" + } + } + }, + "patch": { + "tags": [ + "ElasticSans" + ], + "operationId": "ElasticSans_Update", + "description": "Update a Elastic San.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ElasticSanUpdate" + }, + "description": "Elastic San object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- ElasticSAN properties updated successfully.", + "schema": { + "$ref": "#/definitions/ElasticSan" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ElasticSans_Update_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_Update_MaximumSet_Gen.json" + }, + "ElasticSans_Update_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_Update_MinimumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "ElasticSans" + ], + "operationId": "ElasticSans_Delete", + "description": "Delete a Elastic San.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete operation completed successfully." + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "NoContent --ElasticSAN does not exist in the subscription." + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ElasticSans_Delete_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_Delete_MaximumSet_Gen.json" + }, + "ElasticSans_Delete_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_Delete_MinimumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "ElasticSans" + ], + "operationId": "ElasticSans_Get", + "description": "Get a ElasticSan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation completed successfully; retrieved ElasticSan.", + "schema": { + "$ref": "#/definitions/ElasticSan" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ElasticSans_Get_MaximumSet_Gen": { + "$ref": "./examples/ElasticSans_Get_MaximumSet_Gen.json" + }, + "ElasticSans_Get_MinimumSet_Gen": { + "$ref": "./examples/ElasticSans_Get_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups": { + "get": { + "tags": [ + "VolumeGroups" + ], + "description": "List VolumeGroups.", + "operationId": "VolumeGroups_ListByElasticSan", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation completed successfully; retrieved Volume Group List.", + "schema": { + "$ref": "#/definitions/VolumeGroupList" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VolumeGroups_ListByElasticSan_MaximumSet_Gen": { + "$ref": "./examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json" + }, + "VolumeGroups_ListByElasticSan_MinimumSet_Gen": { + "$ref": "./examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}": { + "put": { + "tags": [ + "VolumeGroups" + ], + "description": "Create a Volume Group.", + "operationId": "VolumeGroups_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VolumeGroup" + }, + "description": "Volume Group object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Resource Create or Update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/VolumeGroup" + } + }, + "201": { + "description": "Created -- Resource Create; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/VolumeGroup" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeGroups_Create_MaximumSet_Gen": { + "$ref": "./examples/VolumeGroups_Create_MaximumSet_Gen.json" + }, + "VolumeGroups_Create_MinimumSet_Gen": { + "$ref": "./examples/VolumeGroups_Create_MinimumSet_Gen.json" + } + } + }, + "patch": { + "tags": [ + "VolumeGroups" + ], + "description": "Update an VolumeGroup.", + "operationId": "VolumeGroups_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VolumeGroupUpdate" + }, + "description": "Volume Group object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/VolumeGroup" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeGroups_Update_MaximumSet_Gen": { + "$ref": "./examples/VolumeGroups_Update_MaximumSet_Gen.json" + }, + "VolumeGroups_Update_MinimumSet_Gen": { + "$ref": "./examples/VolumeGroups_Update_MinimumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "VolumeGroups" + ], + "description": "Delete an VolumeGroup.", + "operationId": "VolumeGroups_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete operation completed successfully." + }, + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "NoContent -- Resource does not exist in the subscription." + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "VolumeGroups_Delete_MaximumSet_Gen": { + "$ref": "./examples/VolumeGroups_Delete_MaximumSet_Gen.json" + }, + "VolumeGroups_Delete_MinimumSet_Gen": { + "$ref": "./examples/VolumeGroups_Delete_MinimumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "VolumeGroups" + ], + "description": "Get an VolumeGroups.", + "operationId": "VolumeGroups_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully; retrieved iSCSI Target.", + "schema": { + "$ref": "#/definitions/VolumeGroup" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "VolumeGroups_Get_MaximumSet_Gen": { + "$ref": "./examples/VolumeGroups_Get_MaximumSet_Gen.json" + }, + "VolumeGroups_Get_MinimumSet_Gen": { + "$ref": "./examples/VolumeGroups_Get_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}": { + "put": { + "tags": [ + "Volumes" + ], + "description": "Create a Volume.", + "operationId": "Volumes_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "#/parameters/VolumeNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Volume" + }, + "description": "Volume object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Resource Create or Update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/Volume" + } + }, + "201": { + "description": "Created -- Resource Create; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Volume" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Create_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Create_MaximumSet_Gen.json" + }, + "Volumes_Create_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Create_MinimumSet_Gen.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "description": "Update an Volume.", + "operationId": "Volumes_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "#/parameters/VolumeNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VolumeUpdate" + }, + "description": "Volume object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/Volume" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Update_MaximumSet_Gen.json" + }, + "Volumes_Update_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Update_MinimumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "description": "Delete an Volume.", + "operationId": "Volumes_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "#/parameters/VolumeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed successfully." + }, + "202": { + "description": "Delete request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist in the subscription." + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Delete_MaximumSet_Gen.json" + }, + "Volumes_Delete_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Delete_MinimumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "Volumes" + ], + "description": "Get an Volume.", + "operationId": "Volumes_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "#/parameters/VolumeNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully; retrieved Volume.", + "schema": { + "$ref": "#/definitions/Volume" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Volumes_Get_MaximumSet_Gen": { + "$ref": "./examples/Volumes_Get_MaximumSet_Gen.json" + }, + "Volumes_Get_MinimumSet_Gen": { + "$ref": "./examples/Volumes_Get_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes": { + "get": { + "tags": [ + "Volumes" + ], + "description": "List Volumes in a VolumeGroup.", + "operationId": "Volumes_ListByVolumeGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/VolumeGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully; retrieved volumes in a volume group.", + "schema": { + "$ref": "#/definitions/VolumeList" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Volumes_ListByVolumeGroup_MaximumSet_Gen": { + "$ref": "./examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json" + }, + "Volumes_ListByVolumeGroup_MinimumSet_Gen": { + "$ref": "./examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Update the state of specified private endpoint connection associated with the Elastic San", + "operationId": "PrivateEndpointConnections_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Private Endpoint Connection Approval object." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Resource Create or Update operation is successfully completed.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created -- Resource Create; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error from Elastic SAN resource provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "PrivateEndpointConnections_Create_MaximumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json" + }, + "PrivateEndpointConnections_Create_MinimumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets the specified private endpoint connection associated with the Elastic San", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error from Elastic SAN resource provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get_MaximumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json" + }, + "PrivateEndpointConnections_Get_MinimumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes the specified private endpoint connection associated with the Elastic San", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully" + }, + "202": { + "description": "Delete request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content -- The Private Endpoint Connection does not exist." + }, + "default": { + "description": "Error from Elastic SAN resource provider.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete_MaximumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json" + }, + "PrivateEndpointConnections_Delete_MinimumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all Private Endpoint Connections associated with the Elastic San.", + "operationId": "PrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "PrivateEndpointConnections_List_MaximumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_List_MaximumSet_Gen.json" + }, + "PrivateEndpointConnections_List_MinimumSet_Gen": { + "$ref": "./examples/PrivateEndpointConnections_List_MinimumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByElasticSan", + "description": "Gets the private link resources that need to be created for a elastic San.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ElasticSanNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error from the ElasticSan Resource Provider", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListByElasticSan_MaximumSet_Gen": { + "$ref": "./examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json" + }, + "PrivateLinkResources_ListByElasticSan_MinimumSet_Gen": { + "$ref": "./examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json" + } + } + } + } + }, + "parameters": { + "ElasticSanNameParameter": { + "name": "elasticSanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ElasticSan.", + "pattern": "^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$", + "minLength": 3, + "maxLength": 24, + "x-ms-parameter-location": "method" + }, + "VolumeGroupNameParameter": { + "name": "volumeGroupName", + "type": "string", + "required": true, + "in": "path", + "description": "The name of the VolumeGroup.", + "pattern": "^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$", + "minLength": 3, + "maxLength": 63, + "x-ms-parameter-location": "method" + }, + "VolumeNameParameter": { + "name": "volumeName", + "type": "string", + "required": true, + "in": "path", + "description": "The name of the Volume.", + "pattern": "^[a-z0-9]+(-[a-z0-9A-Z]+)*$", + "minLength": 3, + "maxLength": 63, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "type": "string", + "required": true, + "in": "path", + "description": "The name of the Private Endpoint connection.", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ElasticSanList": { + "type": "object", + "description": "List of Elastic Sans", + "additionalProperties": false, + "properties": { + "value": { + "description": "An array of Elastic San objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticSan" + } + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticSan": { + "type": "object", + "description": "Response for ElasticSan request.", + "required": [ + "properties", + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of ElasticSan.", + "$ref": "#/definitions/ElasticSanProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "ElasticSanProperties": { + "type": "object", + "description": "Elastic San response properties.", + "required": [ + "baseSizeTiB", + "extendedCapacitySizeTiB", + "sku" + ], + "properties": { + "sku": { + "description": "resource sku", + "$ref": "#/definitions/Sku" + }, + "availabilityZones": { + "type": "array", + "description": "Logical zone for Elastic San resource; example: [\"1\"].", + "items": { + "$ref": "#/definitions/AvailabilityZone" + } + }, + "provisioningState": { + "description": "State of the operation on the resource.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "baseSizeTiB": { + "description": "Base size of the Elastic San appliance in TiB.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedCapacitySizeTiB": { + "description": "Extended size of the Elastic San appliance in TiB.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "totalVolumeSizeGiB": { + "description": "Total size of the provisioned Volumes in GiB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "volumeGroupCount": { + "description": "Total number of volume groups in this Elastic San appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "totalIops": { + "description": "Total Provisioned IOPS of the Elastic San appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "totalMBps": { + "description": "Total Provisioned MBps Elastic San appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "totalSizeTiB": { + "description": "Total size of the Elastic San appliance in TB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint Connections." + } + } + }, + "ElasticSanUpdate": { + "type": "object", + "description": "Response for ElasticSan update request.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of ElasticSan.", + "$ref": "#/definitions/ElasticSanUpdateProperties" + }, + "tags": { + "type": "object", + "description": "Update tags", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ElasticSanUpdateProperties": { + "type": "object", + "description": "Elastic San update properties.", + "properties": { + "baseSizeTiB": { + "description": "Base size of the Elastic San appliance in TiB.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "extendedCapacitySizeTiB": { + "description": "Extended size of the Elastic San appliance in TiB.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AvailabilityZone": { + "type": "string", + "description": "Availability zone." + }, + "SkuInformationList": { + "description": "List of SKU Information objects", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "ElasticSAN SKU and its properties", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Sku Name", + "$ref": "#/definitions/SkuName" + }, + "tier": { + "type": "string", + "description": "Sku Tier", + "$ref": "#/definitions/SkuTier" + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "description": "Availability of the SKU for the location/zone", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "x-ms-identifiers": [], + "description": "The capability information in the specified SKU." + } + } + }, + "SKUCapability": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of capability." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "A string value to indicate states of given capability." + } + }, + "description": "The capability information in the specified SKU.", + "type": "object" + }, + "SkuLocationInfo": { + "description": "The location info.", + "type": "object", + "properties": { + "location": { + "description": "The location.", + "type": "string", + "readOnly": true + }, + "zones": { + "description": "The zones.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "Sku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/SkuName" + }, + "tier": { + "$ref": "#/definitions/SkuTier" + } + }, + "description": "The SKU name. Required for account creation; optional for update." + }, + "SkuName": { + "type": "string", + "enum": [ + "Premium_LRS", + "Premium_ZRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "value": "Premium_LRS", + "description": "Premium locally redundant storage" + }, + { + "value": "Premium_ZRS", + "description": "Premium zone redundant storage" + } + ] + }, + "description": "The sku name." + }, + "SkuTier": { + "type": "string", + "enum": [ + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true, + "values": [ + { + "value": "Premium", + "description": "Premium Tier" + } + ] + }, + "description": "The sku tier." + }, + "IscsiTargetInfo": { + "type": "object", + "description": "Iscsi target information", + "readOnly": true, + "properties": { + "targetIqn": { + "type": "string", + "description": "iSCSI Target IQN (iSCSI Qualified Name); example: \"iqn.2005-03.org.iscsi:server\".", + "readOnly": true + }, + "targetPortalHostname": { + "type": "string", + "description": "iSCSI Target Portal Host Name", + "readOnly": true + }, + "targetPortalPort": { + "type": "integer", + "format": "int32", + "description": "iSCSI Target Portal Port", + "readOnly": true + }, + "provisioningState": { + "description": "State of the operation on the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "status": { + "$ref": "#/definitions/OperationalStatus", + "description": "Operational status of the iSCSI Target." + } + } + }, + "VolumeGroup": { + "type": "object", + "description": "Response for Volume Group request.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of VolumeGroup.", + "$ref": "#/definitions/VolumeGroupProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "VolumeGroupList": { + "type": "object", + "description": "List of Volume Groups", + "additionalProperties": false, + "properties": { + "value": { + "description": "An array of Volume Groups objects.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeGroup" + } + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + } + }, + "VolumeGroupProperties": { + "type": "object", + "description": "VolumeGroup response properties.", + "properties": { + "provisioningState": { + "description": "State of the operation on the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "protocolType": { + "description": "Type of storage target", + "$ref": "#/definitions/StorageTargetType" + }, + "encryption": { + "description": "Type of encryption", + "$ref": "#/definitions/EncryptionType" + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility from specific network locations.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint Connections." + } + } + }, + "VolumeGroupUpdate": { + "type": "object", + "description": "Volume Group request.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of VolumeGroup.", + "$ref": "#/definitions/VolumeGroupUpdateProperties" + } + } + }, + "VolumeGroupUpdateProperties": { + "type": "object", + "description": "VolumeGroup response properties.", + "properties": { + "protocolType": { + "description": "Type of storage target", + "$ref": "#/definitions/StorageTargetType" + }, + "encryption": { + "description": "Type of encryption", + "$ref": "#/definitions/EncryptionType" + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility from specific network locations.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "Volume": { + "type": "object", + "description": "Response for Volume request.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of Volume.", + "$ref": "#/definitions/VolumeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "VolumeList": { + "type": "object", + "description": "List of Volumes", + "additionalProperties": false, + "properties": { + "value": { + "description": "An array of Volume objects.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + } + }, + "VolumeProperties": { + "type": "object", + "required": [ + "sizeGiB" + ], + "description": "Volume response properties.", + "properties": { + "volumeId": { + "description": "Unique Id of the volume in GUID format", + "type": "string", + "readOnly": true + }, + "creationData": { + "description": "State of the operation on the resource.", + "$ref": "#/definitions/SourceCreationData" + }, + "sizeGiB": { + "description": "Volume size.", + "type": "integer", + "format": "int64" + }, + "storageTarget": { + "description": "Storage target information", + "$ref": "#/definitions/IscsiTargetInfo" + } + } + }, + "VolumeUpdate": { + "type": "object", + "description": "Response for Volume request.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of Volume.", + "$ref": "#/definitions/VolumeUpdateProperties" + } + } + }, + "VolumeUpdateProperties": { + "type": "object", + "description": "Volume response properties.", + "properties": { + "sizeGiB": { + "description": "Volume size.", + "type": "integer", + "format": "int64" + } + } + }, + "SourceCreationData": { + "type": "object", + "description": "Data source used when creating the volume.", + "properties": { + "createSource": { + "type": "string", + "enum": [ + "None" + ], + "x-ms-enum": { + "name": "VolumeCreateOption", + "modelAsString": false + }, + "description": "This enumerates the possible sources of a volume creation." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk. If createOption is Restore, this is the ARM-like id of the source disk restore point." + } + } + }, + "ProvisioningState": { + "type": "string", + "enum": [ + "Invalid", + "Succeeded", + "Failed", + "Canceled", + "Pending", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningStates", + "modelAsString": true + }, + "description": "Provisioning state of the iSCSI Target.", + "readOnly": true + }, + "OperationalStatus": { + "type": "string", + "enum": [ + "Invalid", + "Unknown", + "Healthy", + "Unhealthy", + "Updating", + "Running", + "Stopped", + "Stopped (deallocated)" + ], + "x-ms-enum": { + "name": "OperationalStatus", + "modelAsString": true + }, + "description": "Operational status of the resource." + }, + "StorageTargetType": { + "type": "string", + "enum": [ + "Iscsi", + "None" + ], + "x-ms-enum": { + "name": "StorageTargetType", + "modelAsString": true + }, + "description": "Storage Target type." + }, + "EncryptionType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithPlatformKey" + ], + "x-ms-enum": { + "name": "EncryptionType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithPlatformKey", + "description": "Volume is encrypted at rest with Platform managed key. It is the default encryption type." + } + ] + } + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of virtual network rule." + }, + "state": { + "type": "string", + "readOnly": true, + "enum": [ + "provisioning", + "deprovisioning", + "succeeded", + "failed", + "networkSourceDeleted" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": false + }, + "description": "Gets the state of virtual network rule." + } + }, + "required": [ + "id" + ], + "description": "Virtual Network rule." + }, + "PrivateEndpointConnection": { + "type": "object", + "description": " Response for PrivateEndpoint Connection object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Private Endpoint Connection Properties.", + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": " Response for PrivateEndpoint connection properties", + "properties": { + "provisioningState": { + "description": "Provisioning State of Private Endpoint connection resource", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "privateEndpoint": { + "description": "Private Endpoint resource", + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Private Link Service Connection State.", + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + "groupIds": { + "description": " List of resources private endpoint is mapped", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Response for PrivateEndpoint", + "properties": { + "id": { + "type": "string", + "description": "The ARM identifier for Private Endpoint", + "readOnly": true + } + } + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "description": "Response for Private Link Service Connection state", + "properties": { + "status": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus" + }, + "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." + } + } + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Failed", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "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": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "URI to fetch the next section of the paginated response.", + "type": "string", + "readOnly": true + } + }, + "description": "List of private endpoint connections associated with SAN" + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MaximumSet_Gen.json new file mode 100644 index 000000000000..8a541d41a87a --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MaximumSet_Gen.json @@ -0,0 +1,104 @@ +{ + "title": "ElasticSans_Create", + "operationId": "ElasticSans_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "parameters": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "baseSizeTiB": 5, + "extendedCapacitySizeTiB": 25 + }, + "tags": { + "key9316": "ihndtieqibtob" + }, + "location": "South Central US" + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27 + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Creating", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27 + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MinimumSet_Gen.json new file mode 100644 index 000000000000..2e2d74f5f223 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Create_MinimumSet_Gen.json @@ -0,0 +1,97 @@ +{ + "title": "ElasticSans_Create", + "operationId": "ElasticSans_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "parameters": { + "properties": { + "sku": { + "name": "Premium_LRS" + }, + "baseSizeTiB": 5, + "extendedCapacitySizeTiB": 25 + }, + "location": "South Central US" + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27 + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Creating", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27 + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..d8dbaedbfb24 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MaximumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "ElasticSans_Delete", + "operationId": "ElasticSans_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..d8dbaedbfb24 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Delete_MinimumSet_Gen.json @@ -0,0 +1,19 @@ +{ + "title": "ElasticSans_Delete", + "operationId": "ElasticSans_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..b219301153ac --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MaximumSet_Gen.json @@ -0,0 +1,77 @@ +{ + "title": "ElasticSans_Get", + "operationId": "ElasticSans_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..b219301153ac --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Get_MinimumSet_Gen.json @@ -0,0 +1,77 @@ +{ + "title": "ElasticSans_Get", + "operationId": "ElasticSans_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..0b31c3234e38 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,81 @@ +{ + "title": "ElasticSans_ListByResourceGroup", + "operationId": "ElasticSans_ListByResourceGroup", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + ], + "nextLink": "goepspyylutlwudutmpi" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json new file mode 100644 index 000000000000..0b31c3234e38 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json @@ -0,0 +1,81 @@ +{ + "title": "ElasticSans_ListByResourceGroup", + "operationId": "ElasticSans_ListByResourceGroup", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + ], + "nextLink": "goepspyylutlwudutmpi" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json new file mode 100644 index 000000000000..f048dcb61172 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json @@ -0,0 +1,80 @@ +{ + "title": "ElasticSans_ListBySubscription", + "operationId": "ElasticSans_ListBySubscription", + "parameters": { + "subscriptionId": "subscriptionid", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + ], + "nextLink": "goepspyylutlwudutmpi" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json new file mode 100644 index 000000000000..f048dcb61172 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json @@ -0,0 +1,80 @@ +{ + "title": "ElasticSans_ListBySubscription", + "operationId": "ElasticSans_ListBySubscription", + "parameters": { + "subscriptionId": "subscriptionid", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + ], + "nextLink": "goepspyylutlwudutmpi" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..e35cee40e292 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MaximumSet_Gen.json @@ -0,0 +1,91 @@ +{ + "title": "ElasticSans_Update", + "operationId": "ElasticSans_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "parameters": { + "properties": { + "baseSizeTiB": 10, + "extendedCapacitySizeTiB": 22 + }, + "tags": { + "key4212": "cqvcnwfefljntgeio" + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MinimumSet_Gen.json new file mode 100644 index 000000000000..0a25b8820926 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/ElasticSans_Update_MinimumSet_Gen.json @@ -0,0 +1,83 @@ +{ + "title": "ElasticSans_Update", + "operationId": "ElasticSans_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "parameters": {}, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "availabilityZones": [ + "1" + ], + "provisioningState": "Succeeded", + "baseSizeTiB": 15, + "extendedCapacitySizeTiB": 6, + "totalVolumeSizeGiB": 15, + "volumeGroupCount": 24, + "totalIops": 22, + "totalMBps": 4, + "totalSizeTiB": 27, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + }, + "tags": { + "key5002": "lhag" + }, + "location": "France Central", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}", + "name": "vfoatmakv", + "type": "Microsoft.ElasticSan/ElasticSans" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..a5369bb6e747 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MaximumSet_Gen.json @@ -0,0 +1,26 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "qgcosclgjmglgs", + "isDataAction": true, + "display": { + "provider": "dbdmmszikohrwlvl", + "resource": "adqzzhgl", + "operation": "ofkypzumjbtezuqujudkqcf", + "description": "fmbdwtvxjilmflxdlmbysmr" + } + } + ], + "nextLink": "tfqrgvxkwqjx" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..e886002e0cb7 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Operations_List_MinimumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "qgcosclgjmglgs" + } + ] + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json new file mode 100644 index 000000000000..adc3acdf5dc1 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json @@ -0,0 +1,87 @@ +{ + "title": "PrivateEndpointConnections_Create", + "operationId": "PrivateEndpointConnections_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "parameters": { + "properties": { + "privateEndpoint": {}, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "sytxzqlcoapcaywthgwvwcw" + ] + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json new file mode 100644 index 000000000000..433208cc24ae --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json @@ -0,0 +1,83 @@ +{ + "title": "PrivateEndpointConnections_Create", + "operationId": "PrivateEndpointConnections_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..ac49bca0a6bc --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "PrivateEndpoinConnections_Delete", + "operationId": "PrivateEndpoinConnections_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..ac49bca0a6bc --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "PrivateEndpoinConnections_Delete", + "operationId": "PrivateEndpoinConnections_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..bfb3db7d956e --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json @@ -0,0 +1,42 @@ +{ + "title": "PrivateEndpointConnections_Get", + "operationId": "PrivateEndpointConnections_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..bfb3db7d956e --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json @@ -0,0 +1,42 @@ +{ + "title": "PrivateEndpointConnections_Get", + "operationId": "PrivateEndpointConnections_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "privateEndpointConnectionName": "privateendpointconnectionname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..c7c4f9d4edb7 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json @@ -0,0 +1,46 @@ +{ + "title": "PrivateEndpointConnections_List", + "operationId": "PrivateEndpointConnections_List", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ], + "nextLink": "mwzcxnylrsniowju" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..c7c4f9d4edb7 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json @@ -0,0 +1,46 @@ +{ + "title": "PrivateEndpointConnections_List", + "operationId": "PrivateEndpointConnections_List", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ], + "nextLink": "mwzcxnylrsniowju" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json new file mode 100644 index 000000000000..3b86a1b2efda --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json @@ -0,0 +1,41 @@ +{ + "title": "PrivateLinkResources_ListByElasticSan", + "operationId": "PrivateLinkResources_ListByElasticSan", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "requiredMembers": [ + "{volumeGroupName}" + ], + "requiredZoneNames": [ + "lsknuvjjtgsrocmoq" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + } + } + ], + "nextLink": "qpcenviendbpjuhyzwzshdkd" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json new file mode 100644 index 000000000000..3b86a1b2efda --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json @@ -0,0 +1,41 @@ +{ + "title": "PrivateLinkResources_ListByElasticSan", + "operationId": "PrivateLinkResources_ListByElasticSan", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "requiredMembers": [ + "{volumeGroupName}" + ], + "requiredZoneNames": [ + "lsknuvjjtgsrocmoq" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + } + } + ], + "nextLink": "qpcenviendbpjuhyzwzshdkd" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..18e8a6ee91d4 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MaximumSet_Gen.json @@ -0,0 +1,39 @@ +{ + "title": "List all the available Skus in the region and information related to them", + "operationId": "Skus_List", + "parameters": { + "subscriptionId": "subscriptionid", + "api-version": "2022-12-01-preview", + "$filter": "dtycml" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Premium_LRS", + "tier": "Premium", + "resourceType": "rnumsqm", + "locations": [ + "jqdpabrworxiinhlmfmtko" + ], + "locationInfo": [ + { + "location": "oxpkwgcdvlonfcwtttor", + "zones": [ + "1" + ] + } + ], + "capabilities": [ + { + "name": "fihkmeasrwpjyti", + "value": "jlojmjpjucekutlgtwhjgxwpqctdjy" + } + ] + } + ] + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MinimumSet_Gen.json new file mode 100644 index 000000000000..9188d9254cb1 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Skus_List_MinimumSet_Gen.json @@ -0,0 +1,13 @@ +{ + "title": "List all the available Skus in the region and information related to them", + "operationId": "Skus_List", + "parameters": { + "subscriptionId": "subscriptionid", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MaximumSet_Gen.json new file mode 100644 index 000000000000..81f712ce37b4 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MaximumSet_Gen.json @@ -0,0 +1,88 @@ +{ + "title": "VolumeGroups_Create", + "operationId": "VolumeGroups_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "parameters": { + "properties": { + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow" + } + ] + } + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MinimumSet_Gen.json new file mode 100644 index 000000000000..2f61de91e24c --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Create_MinimumSet_Gen.json @@ -0,0 +1,75 @@ +{ + "title": "VolumeGroups_Create", + "operationId": "VolumeGroups_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "parameters": {}, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..d5334fbb71ff --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MaximumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "VolumeGroups_Delete", + "operationId": "VolumeGroups_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..d5334fbb71ff --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Delete_MinimumSet_Gen.json @@ -0,0 +1,20 @@ +{ + "title": "VolumeGroups_Delete", + "operationId": "VolumeGroups_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..9dc109056fcf --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MaximumSet_Gen.json @@ -0,0 +1,71 @@ +{ + "title": "VolumeGroups_Get", + "operationId": "VolumeGroups_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..9dc109056fcf --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Get_MinimumSet_Gen.json @@ -0,0 +1,71 @@ +{ + "title": "VolumeGroups_Get", + "operationId": "VolumeGroups_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json new file mode 100644 index 000000000000..b80109d0c451 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json @@ -0,0 +1,75 @@ +{ + "title": "VolumeGroups_ListByElasticSan", + "operationId": "VolumeGroups_ListByElasticSan", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + ], + "nextLink": "bgcskeodhoozkjhfkkrdhnaxuroujc" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json new file mode 100644 index 000000000000..b80109d0c451 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json @@ -0,0 +1,75 @@ +{ + "title": "VolumeGroups_ListByElasticSan", + "operationId": "VolumeGroups_ListByElasticSan", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + ], + "nextLink": "bgcskeodhoozkjhfkkrdhnaxuroujc" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..8d87a5b1bc84 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MaximumSet_Gen.json @@ -0,0 +1,90 @@ +{ + "title": "VolumeGroups_Update", + "operationId": "VolumeGroups_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "parameters": { + "properties": { + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow" + } + ] + } + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MinimumSet_Gen.json new file mode 100644 index 000000000000..6d4cd55a03ad --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/VolumeGroups_Update_MinimumSet_Gen.json @@ -0,0 +1,77 @@ +{ + "title": "VolumeGroups_Update", + "operationId": "VolumeGroups_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "parameters": {}, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Invalid", + "protocolType": "Iscsi", + "encryption": "EncryptionAtRestWithPlatformKey", + "networkAcls": { + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", + "action": "Allow", + "state": "provisioning" + } + ] + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}" + ] + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections", + "systemData": { + "createdBy": "otfifnrahdshqombvtg", + "createdByType": "User", + "createdAt": "2023-07-03T09:59:45.919Z", + "lastModifiedBy": "jnaxavnlhrboshtidtib", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-03T09:59:45.919Z" + } + } + ] + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}", + "name": "cr", + "type": "Microsoft.ElasticSan/elasticSans/volumeGroups" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MaximumSet_Gen.json new file mode 100644 index 000000000000..ad7ca1245ab9 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MaximumSet_Gen.json @@ -0,0 +1,86 @@ +{ + "title": "Volumes_Create", + "operationId": "Volumes_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "parameters": { + "properties": { + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23 + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Creating", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MinimumSet_Gen.json new file mode 100644 index 000000000000..86daa5986a42 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Create_MinimumSet_Gen.json @@ -0,0 +1,82 @@ +{ + "title": "Volumes_Create", + "operationId": "Volumes_Create", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "parameters": { + "properties": { + "sizeGiB": 23 + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + }, + "201": { + "headers": { + "location": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Creating", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..e2a6b804eb93 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MaximumSet_Gen.json @@ -0,0 +1,21 @@ +{ + "title": "Volumes_Delete", + "operationId": "Volumes_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MinimumSet_Gen.json new file mode 100644 index 000000000000..e2a6b804eb93 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Delete_MinimumSet_Gen.json @@ -0,0 +1,21 @@ +{ + "title": "Volumes_Delete", + "operationId": "Volumes_Delete", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..defb27c24b1b --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MaximumSet_Gen.json @@ -0,0 +1,44 @@ +{ + "title": "Volumes_Get", + "operationId": "Volumes_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MinimumSet_Gen.json new file mode 100644 index 000000000000..defb27c24b1b --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Get_MinimumSet_Gen.json @@ -0,0 +1,44 @@ +{ + "title": "Volumes_Get", + "operationId": "Volumes_Get", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..e4d5447b3c25 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json @@ -0,0 +1,48 @@ +{ + "title": "Volumes_ListByVolumeGroup", + "operationId": "Volumes_ListByVolumeGroup", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + ], + "nextLink": "zrjgyuzmjvvatfujsbyrsxrudytm" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json new file mode 100644 index 000000000000..e4d5447b3c25 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json @@ -0,0 +1,48 @@ +{ + "title": "Volumes_ListByVolumeGroup", + "operationId": "Volumes_ListByVolumeGroup", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + ], + "nextLink": "zrjgyuzmjvvatfujsbyrsxrudytm" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..52429609d92a --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MaximumSet_Gen.json @@ -0,0 +1,54 @@ +{ + "title": "Volumes_Update", + "operationId": "Volumes_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "parameters": { + "properties": { + "sizeGiB": 11 + } + }, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MinimumSet_Gen.json new file mode 100644 index 000000000000..f1f370f93de0 --- /dev/null +++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/preview/2022-12-01-preview/examples/Volumes_Update_MinimumSet_Gen.json @@ -0,0 +1,50 @@ +{ + "title": "Volumes_Update", + "operationId": "Volumes_Update", + "parameters": { + "subscriptionId": "subscriptionid", + "resourceGroupName": "resourcegroupname", + "elasticSanName": "elasticsanname", + "volumeGroupName": "volumegroupname", + "volumeName": "volumename", + "parameters": {}, + "api-version": "2022-12-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "volumeId": "hkbhievbyopwjqawbyvqi", + "creationData": { + "createSource": "None", + "sourceUri": " ARM Id of resource" + }, + "sizeGiB": 23, + "storageTarget": { + "targetIqn": "yuuex", + "targetPortalHostname": "yktnmynpdjpmztwuwcvipp", + "targetPortalPort": 3, + "provisioningState": "Succeeded", + "status": "Invalid" + } + }, + "systemData": { + "createdBy": "zloujisrarsox", + "createdByType": "User", + "createdAt": "2023-07-04T05:52:15.371Z", + "lastModifiedBy": "lmdztjjcmdfzam", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-04T05:52:15.371Z" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}", + "name": "ipmipjggodoxjua", + "type": "Microsoft.ElasticSan/elasticSans" + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/elasticsan/resource-manager/readme.md b/specification/elasticsan/resource-manager/readme.md index fb8f1a2c9dfc..866eeccaeb46 100644 --- a/specification/elasticsan/resource-manager/readme.md +++ b/specification/elasticsan/resource-manager/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 storagepool. -```yaml +``` yaml openapi-type: arm -tag: package-2021-11-20-preview +tag: package-preview-2022-12 ``` + +### Tag: package-preview-2022-12 + +These settings apply only when `--tag=package-preview-2022-12` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-12' +input-file: + - Microsoft.ElasticSan/preview/2022-12-01-preview/elasticsan.json +``` ### Tag: package-2021-11-20-preview These settings apply only when `--tag=package-2021-11-20-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-11-20-preview' +``` yaml $(tag) == 'package-2021-11-20-preview' input-file: - Microsoft.ElasticSan/preview/2021-11-20-preview/elasticsan.json ``` @@ -47,7 +56,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-net-track2 - repo: azure-sdk-for-python-track2 diff --git a/specification/elasticsan/resource-manager/readme.python.md b/specification/elasticsan/resource-manager/readme.python.md index 65618da54512..e79873f42beb 100644 --- a/specification/elasticsan/resource-manager/readme.python.md +++ b/specification/elasticsan/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: ElasticSanMgmtClient azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-elasticsan diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/preview/2023-06-01-preview/EventGrid.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/preview/2023-06-01-preview/EventGrid.json index 85f85b5de180..b378a3e5b0a6 100644 --- a/specification/eventgrid/data-plane/Microsoft.EventGrid/preview/2023-06-01-preview/EventGrid.json +++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/preview/2023-06-01-preview/EventGrid.json @@ -42,8 +42,8 @@ "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", - "in": "header", - "name": "SharedAccessKey" + "name": "SharedAccessKey", + "in": "header" } }, "tags": [], @@ -52,6 +52,9 @@ "post": { "operationId": "PublishCloudEvents", "description": "Publish Batch Cloud Event to namespace topic. In case of success, the server responds with an HTTP 200 status code with an empty JSON object in response. Otherwise, the server can return various error codes. For example, 401: which indicates authorization failure, 403: which indicates quota exceeded or message is too large, 410: which indicates that specific topic is not found, 400: for bad request, and 500: for internal server error. ", + "consumes": [ + "application/cloudevents-batch+json; charset=utf-8" + ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" @@ -59,21 +62,20 @@ { "name": "topicName", "in": "path", - "required": true, "description": "Topic Name.", + "required": true, "type": "string" }, { "name": "events", "in": "body", - "required": true, "description": "Array of Cloud Events being published.", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/CloudEvent" - }, - "x-typespec-name": "CloudEvent[]" + } } } ], @@ -86,20 +88,17 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, - "consumes": [ - "application/cloudevents-batch+json; charset=utf-8" - ], "x-ms-examples": { "Publish Cloud Event": { "$ref": "./examples/publish.json" @@ -118,33 +117,33 @@ { "name": "topicName", "in": "path", - "required": true, "description": "Topic Name.", + "required": true, "type": "string" }, { "name": "eventSubscriptionName", "in": "path", - "required": true, "description": "Event Subscription Name.", + "required": true, "type": "string" }, { "name": "maxEvents", "in": "query", - "required": false, "description": "Max Events count to be received. Minimum value is 1, while maximum value is 100 events. If not specified, the default value is 1.", - "default": 1, + "required": false, "type": "integer", "format": "int32", + "default": 1, "minimum": 1, "maximum": 100 }, { "name": "maxWaitTime", "in": "query", - "required": false, "description": "Max wait time value for receive operation in Seconds. It is the time in seconds that the server approximately waits for the availability of an event and responds to the request. If an event is available, the broker responds immediately to the client. Minimum value is 10 seconds, while maximum value is 120 seconds. If not specified, the default value is 60 seconds.", + "required": false, "type": "integer", "format": "int32" } @@ -158,14 +157,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -187,22 +186,22 @@ { "name": "topicName", "in": "path", - "required": true, "description": "Topic Name.", + "required": true, "type": "string" }, { "name": "eventSubscriptionName", "in": "path", - "required": true, "description": "Event Subscription Name.", + "required": true, "type": "string" }, { "name": "lockTokens", "in": "body", - "required": true, "description": "AcknowledgeOptions.", + "required": true, "schema": { "$ref": "#/definitions/AcknowledgeOptions" } @@ -217,14 +216,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -246,22 +245,22 @@ { "name": "topicName", "in": "path", - "required": true, "description": "Topic Name.", + "required": true, "type": "string" }, { "name": "eventSubscriptionName", "in": "path", - "required": true, "description": "Event Subscription Name.", + "required": true, "type": "string" }, { "name": "lockTokens", "in": "body", - "required": true, "description": "ReleaseOptions", + "required": true, "schema": { "$ref": "#/definitions/ReleaseOptions" } @@ -276,14 +275,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -305,22 +304,22 @@ { "name": "topicName", "in": "path", - "required": true, "description": "Topic Name.", + "required": true, "type": "string" }, { "name": "eventSubscriptionName", "in": "path", - "required": true, "description": "Event Subscription Name.", + "required": true, "type": "string" }, { "name": "lockTokens", "in": "body", - "required": true, "description": "RejectOptions", + "required": true, "schema": { "$ref": "#/definitions/RejectOptions" } @@ -335,14 +334,14 @@ }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, "headers": { "x-ms-error-code": { "description": "String error code indicating what went wrong.", "type": "string" } - }, - "schema": { - "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" } } }, @@ -357,43 +356,40 @@ "definitions": { "AcknowledgeOptions": { "type": "object", + "description": "Array of lock token strings for the corresponding received Cloud Events to be acknowledged.", "properties": { "lockTokens": { "type": "array", + "description": "String array of lock tokens.", "items": { "type": "string" - }, - "description": "String array of lock tokens.", - "x-typespec-name": "string[]" + } } }, - "description": "Array of lock token strings for the corresponding received Cloud Events to be acknowledged.", "required": [ "lockTokens" ] }, "AcknowledgeResult": { "type": "object", + "description": "The result of the Acknowledge operation.", "properties": { "failedLockTokens": { "type": "array", + "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", "items": { "$ref": "#/definitions/FailedLockToken" }, - "x-ms-identifiers": [], - "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", - "x-typespec-name": "FailedLockToken[]" + "x-ms-identifiers": [] }, "succeededLockTokens": { "type": "array", + "description": "Array of lock tokens values for the successfully acknowledged cloud events.", "items": { "type": "string" - }, - "description": "Array of lock tokens values for the successfully acknowledged cloud events.", - "x-typespec-name": "string[]" + } } }, - "description": "The result of the Acknowledge operation.", "required": [ "failedLockTokens", "succeededLockTokens" @@ -401,6 +397,7 @@ }, "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { "code": { "type": "string", @@ -416,19 +413,17 @@ }, "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": [], - "description": "An array of details about specific errors that led to this reported error.", - "x-typespec-name": "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." } }, - "description": "The error object.", "required": [ "code", "message" @@ -436,19 +431,20 @@ }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", + "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, - "description": "A response containing error details.", "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", @@ -458,11 +454,11 @@ "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } - }, - "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." + } }, "BrokerProperties": { "type": "object", + "description": "Properties of the Event Broker operation.", "properties": { "lockToken": { "type": "string", @@ -474,7 +470,6 @@ "description": "The attempt count for delivering the event." } }, - "description": "Properties of the Event Broker operation.", "required": [ "lockToken", "deliveryCount" @@ -482,6 +477,7 @@ }, "CloudEvent": { "type": "object", + "description": "Properties of an event published to an Azure Messaging EventGrid Namespace topic using the CloudEvent 1.0 Schema.", "properties": { "id": { "type": "string", @@ -525,7 +521,6 @@ "description": "This describes the subject of the event in the context of the event producer (identified by source)." } }, - "description": "Properties of an event published to an Azure Messaging EventGrid Namespace topic using the CloudEvent 1.0 Schema.", "required": [ "id", "source", @@ -535,6 +530,7 @@ }, "FailedLockToken": { "type": "object", + "description": "Failed LockToken information.", "properties": { "lockToken": { "type": "string", @@ -549,7 +545,6 @@ "description": "Description of the token error." } }, - "description": "Failed LockToken information.", "required": [ "lockToken", "errorCode", @@ -558,11 +553,12 @@ }, "PublishResult": { "type": "object", - "properties": {}, - "description": "The result of the Publish operation." + "description": "The result of the Publish operation.", + "properties": {} }, "ReceiveDetails": { "type": "object", + "description": "Receive operation details per Cloud Event.", "properties": { "brokerProperties": { "$ref": "#/definitions/BrokerProperties", @@ -573,7 +569,6 @@ "description": "Cloud Event details." } }, - "description": "Receive operation details per Cloud Event.", "required": [ "brokerProperties", "event" @@ -581,61 +576,57 @@ }, "ReceiveResult": { "type": "object", + "description": "Details of the Receive operation response.", "properties": { "value": { "type": "array", + "description": "Array of receive responses, one per cloud event.", "items": { "$ref": "#/definitions/ReceiveDetails" }, - "x-ms-identifiers": [], - "description": "Array of receive responses, one per cloud event.", - "x-typespec-name": "ReceiveDetails[]" + "x-ms-identifiers": [] } }, - "description": "Details of the Receive operation response.", "required": [ "value" ] }, "RejectOptions": { "type": "object", + "description": "Array of lock token strings for the corresponding received Cloud Events to be rejected.", "properties": { "lockTokens": { "type": "array", + "description": "String array of lock tokens.", "items": { "type": "string" - }, - "description": "String array of lock tokens.", - "x-typespec-name": "string[]" + } } }, - "description": "Array of lock token strings for the corresponding received Cloud Events to be rejected.", "required": [ "lockTokens" ] }, "RejectResult": { "type": "object", + "description": "The result of the Reject operation.", "properties": { "failedLockTokens": { "type": "array", + "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", "items": { "$ref": "#/definitions/FailedLockToken" }, - "x-ms-identifiers": [], - "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", - "x-typespec-name": "FailedLockToken[]" + "x-ms-identifiers": [] }, "succeededLockTokens": { "type": "array", + "description": "Array of lock tokens values for the successfully rejected cloud events.", "items": { "type": "string" - }, - "description": "Array of lock tokens values for the successfully rejected cloud events.", - "x-typespec-name": "string[]" + } } }, - "description": "The result of the Reject operation.", "required": [ "failedLockTokens", "succeededLockTokens" @@ -643,43 +634,40 @@ }, "ReleaseOptions": { "type": "object", + "description": "Array of lock token strings for the corresponding received Cloud Events to be released.", "properties": { "lockTokens": { "type": "array", + "description": "String array of lock tokens.", "items": { "type": "string" - }, - "description": "String array of lock tokens.", - "x-typespec-name": "string[]" + } } }, - "description": "Array of lock token strings for the corresponding received Cloud Events to be released.", "required": [ "lockTokens" ] }, "ReleaseResult": { "type": "object", + "description": "The result of the Release operation.", "properties": { "failedLockTokens": { "type": "array", + "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", "items": { "$ref": "#/definitions/FailedLockToken" }, - "x-ms-identifiers": [], - "description": "Array of LockToken values for failed cloud events. Each LockToken includes the lock token value along with the related error information (namely, the error code and description).", - "x-typespec-name": "FailedLockToken[]" + "x-ms-identifiers": [] }, "succeededLockTokens": { "type": "array", + "description": "Array of lock tokens values for the successfully released cloud events.", "items": { "type": "string" - }, - "description": "Array of lock tokens values for the successfully released cloud events.", - "x-typespec-name": "string[]" + } } }, - "description": "The result of the Release operation.", "required": [ "failedLockTokens", "succeededLockTokens" @@ -690,12 +678,12 @@ "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "required": true, "description": "The API version to use for this operation.", - "x-ms-client-name": "apiVersion", + "required": true, "type": "string", "minLength": 1, - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" } } } diff --git a/specification/fist/resource-manager/readme.java.md b/specification/fist/resource-manager/readme.java.md new file mode 100644 index 000000000000..81a1f8b639a8 --- /dev/null +++ b/specification/fist/resource-manager/readme.java.md @@ -0,0 +1,7 @@ +## Java + +These settings apply only when `--java` is specified on the command line. + +```yaml $(java) +service-name: IoT Firmware Defense +``` diff --git a/specification/fist/resource-manager/readme.md b/specification/fist/resource-manager/readme.md index 72d98965866b..4316749e1cde 100644 --- a/specification/fist/resource-manager/readme.md +++ b/specification/fist/resource-manager/readme.md @@ -81,3 +81,7 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp See configuration in [readme.csharp.md](./readme.csharp.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) diff --git a/specification/fist/resource-manager/readme.typescript.md b/specification/fist/resource-manager/readme.typescript.md index f0152223538b..cd97a48a645e 100644 --- a/specification/fist/resource-manager/readme.typescript.md +++ b/specification/fist/resource-manager/readme.typescript.md @@ -4,6 +4,7 @@ These settings apply only when `--typescript` is specified on the command line. Please also specify `--typescript-sdks-folder=`. ``` yaml $(typescript) +title: IoTFirmwareDefenseClient typescript: azure-arm: true package-name: "@azure/arm-iotfirmwaredefense" diff --git a/specification/help/resource-manager/Microsoft.Help/stable/2023-06-01/examples/CreateDiagnosticForKeyVaultResource.json b/specification/help/resource-manager/Microsoft.Help/stable/2023-06-01/examples/CreateDiagnosticForKeyVaultResource.json index 6f50ad601d1e..6f6773d4ee88 100644 --- a/specification/help/resource-manager/Microsoft.Help/stable/2023-06-01/examples/CreateDiagnosticForKeyVaultResource.json +++ b/specification/help/resource-manager/Microsoft.Help/stable/2023-06-01/examples/CreateDiagnosticForKeyVaultResource.json @@ -3,7 +3,7 @@ "api-version": "2023-06-01", "scope": "subscriptions/0d0fcd2e-c4fd-4349-8497-200edb3923c6/resourcegroups/myresourceGroup/providers/Microsoft.KeyVault/vaults/test-keyvault-non-read", "diagnosticsResourceName": "VMNotWorkingInsight", - "diagnosticItemRequest": { + "diagnosticResourceRequest": { "properties": { "insights": [ { diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Images.json new file mode 100644 index 000000000000..acf44dd970c6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Images.json @@ -0,0 +1,379 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services images." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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.LabServices/labPlans/{labPlanName}/images": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Image" + ], + "summary": "Gets all images.", + "description": "Gets all images from galleries attached to a lab plan.", + "operationId": "Images_ListByLabPlan", + "responses": { + "200": { + "description": "The request was successful; a list of images is returned", + "schema": { + "$ref": "#/definitions/PagedImages" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listImages": { + "$ref": "./examples/Images/listImages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images/{imageName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "LabPlans.json#/parameters/LabPlanNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "get": { + "tags": [ + "Image" + ], + "summary": "Gets an image.", + "description": "Gets an image resource.", + "operationId": "Images_Get", + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getImage": { + "$ref": "./examples/Images/getImage.json" + } + } + }, + "put": { + "tags": [ + "Image" + ], + "summary": "Updates an image via PUT.", + "description": "Updates an image resource via PUT. Creating new resources via PUT will not function.", + "operationId": "Images_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "putImage": { + "$ref": "./examples/Images/putImage.json" + } + } + }, + "patch": { + "tags": [ + "Image" + ], + "summary": "Updates an image.", + "description": "Updates an image resource.", + "consumes": [ + "application/json" + ], + "operationId": "Images_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the image is returned", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "patchImage": { + "$ref": "./examples/Images/patchImage.json" + } + } + } + } + }, + "definitions": { + "Image": { + "description": "Lab services virtual machine image", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the image.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedImages": { + "description": "Paged list of Lab services virtual machine images.", + "type": "object", + "properties": { + "value": { + "description": "The array page of virtual machine images.", + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "ImageUpdate": { + "description": "Lab services virtual machine image for updates.", + "type": "object", + "properties": { + "properties": { + "description": "Image resource properties", + "$ref": "#/definitions/ImageUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ImageUpdateProperties": { + "description": "Properties of an image resource update", + "type": "object", + "properties": { + "enabledState": { + "description": "Is the image enabled", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "ImageProperties": { + "description": "Properties of an image resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ImageUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the image.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "displayName": { + "description": "The image display name.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "A description of the image.", + "type": "string", + "readOnly": true + }, + "iconUrl": { + "description": "URL of the image icon.", + "type": "string", + "readOnly": true + }, + "author": { + "description": "The image author.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The OS Type of the image.", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "plan": { + "description": "The ID of marketplace plan associated with the image (optional).", + "type": "string", + "readOnly": true + }, + "termsStatus": { + "description": "The status of image terms of use (enabled = accepted, disabled = not accepted).", + "$ref": "LabServices.json#/definitions/enableState", + "readOnly": true + }, + "offer": { + "description": "The ID of an offer associated with the image.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The ID of the publisher of the image.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The image SKU.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The image version.", + "type": "string", + "readOnly": true + }, + "sharedGalleryId": { + "description": "The ID for the image in the shared gallery.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "availableRegions": { + "description": "The available regions of the image in the shared gallery.", + "type": "array", + "items": { + "type": "string" + } + }, + "osState": { + "description": "The OS State of the image.", + "$ref": "LabServices.json#/definitions/osState", + "readOnly": true + } + }, + "required": [ + "enabledState" + ] + } + }, + "parameters": { + "ImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The image name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabPlans.json new file mode 100644 index 000000000000..a86bde9cb293 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabPlans.json @@ -0,0 +1,545 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services lab plans." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Get all lab plans for a subscription.", + "description": "Returns a list of all lab plans within a subscription", + "operationId": "LabPlans_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabPlans": { + "$ref": "./examples/LabPlans/listLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Get all lab plans for a subscription and resource group.", + "description": "Returns a list of all lab plans for a subscription and resource group.", + "operationId": "LabPlans_ListByResourceGroup", + "responses": { + "200": { + "description": "The request was successful; response contains all Lab Plans for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabPlans" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabPlans": { + "$ref": "./examples/LabPlans/listResourceGroupLabPlans.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "get": { + "tags": [ + "LabPlan" + ], + "summary": "Retrieves a Lab Plan resource.", + "description": "Retrieves the properties of a Lab Plan.", + "operationId": "LabPlans_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getLabPlan": { + "$ref": "./examples/LabPlans/getLabPlan.json" + } + } + }, + "put": { + "tags": [ + "LabPlan" + ], + "summary": "Updates or creates a Lab Plan resource.", + "description": "Operation to create or update a Lab Plan resource.", + "operationId": "LabPlans_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlan" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "201": { + "description": "The create was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLabPlan": { + "$ref": "./examples/LabPlans/putLabPlan.json" + } + } + }, + "patch": { + "tags": [ + "LabPlan" + ], + "summary": "Updates a Lab Plan resource.", + "description": "Operation to update a Lab Plan resource.", + "consumes": [ + "application/json" + ], + "operationId": "LabPlans_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabPlanUpdate" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab Plan.", + "schema": { + "$ref": "#/definitions/LabPlan" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLabPlan": { + "$ref": "./examples/LabPlans/patchLabPlan.json" + } + } + }, + "delete": { + "tags": [ + "LabPlan" + ], + "summary": "Deletes a Lab Plan resource.", + "description": "Operation to delete a Lab Plan resource. Deleting a lab plan does not delete labs associated with a lab plan, nor does it delete shared images added to a gallery via the lab plan permission container.", + "operationId": "LabPlans_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLabPlan": { + "$ref": "./examples/LabPlans/deleteLabPlan.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/saveImage": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabPlanNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Save an image from a lab VM to the attached shared image gallery.", + "description": "Saves an image from a lab VM to the attached shared image gallery.", + "operationId": "LabPlans_SaveImage", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/SaveImageBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "saveImageVirtualMachine": { + "$ref": "./examples/LabPlans/saveImageVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "LabPlan": { + "description": "Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab plan.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab plan resource properties", + "$ref": "#/definitions/LabPlanProperties", + "x-ms-client-flatten": true + }, + "identity": { + "description": "Managed Identity Information", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + } + }, + "required": [ + "properties" + ] + }, + "PagedLabPlans": { + "description": "Paged list of lab plans.", + "type": "object", + "properties": { + "value": { + "description": "The array page of lab plans.", + "type": "array", + "items": { + "$ref": "#/definitions/LabPlan" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of lab plan results.", + "type": "string", + "readOnly": true + } + } + }, + "LabPlanNetworkProfile": { + "description": "Profile for how to handle networking for Lab Plans.", + "type": "object", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanUpdate": { + "description": "Contains lab configuration and default settings. This variant is used for PATCH.", + "type": "object", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab plan resource update properties", + "$ref": "#/definitions/LabPlanUpdateProperties", + "x-ms-client-flatten": true + }, + "identity": { + "description": "Managed Identity Information", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + } + } + }, + "LabPlanUpdateProperties": { + "description": "Lab plan resource properties for updates", + "type": "object", + "properties": { + "defaultConnectionProfile": { + "description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "defaultAutoShutdownProfile": { + "description": "The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "defaultNetworkProfile": { + "description": "The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.", + "$ref": "#/definitions/LabPlanNetworkProfile" + }, + "allowedRegions": { + "description": "The allowed regions for the lab creator to use when creating labs using this lab plan.", + "type": "array", + "items": { + "type": "string" + } + }, + "sharedGalleryId": { + "description": "Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.", + "$ref": "LabServices.json#/definitions/url" + }, + "supportInfo": { + "description": "Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.", + "$ref": "#/definitions/SupportInfo" + }, + "linkedLmsInstance": { + "description": "Base Url of the lms instance this lab plan can link lab rosters against.", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabPlanProperties": { + "description": "Lab plan resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LabPlanUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab plan.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "resourceOperationError": { + "description": "Error details of last operation done on lab plan.", + "$ref": "LabServices.json#/definitions/ResourceOperationError", + "readOnly": true + } + } + }, + "SupportInfo": { + "description": "Support contact information and instructions.", + "type": "object", + "properties": { + "url": { + "description": "Support web address.", + "$ref": "LabServices.json#/definitions/url" + }, + "email": { + "description": "Support contact email address.", + "$ref": "LabServices.json#/definitions/emailAddress" + }, + "phone": { + "description": "Support contact phone number.", + "$ref": "LabServices.json#/definitions/phoneNumber" + }, + "instructions": { + "description": "Support instructions.", + "type": "string" + } + } + }, + "SaveImageBody": { + "description": "Body for the save image POST", + "type": "object", + "properties": { + "name": { + "description": "The name for the image we create.", + "type": "string" + }, + "labVirtualMachineId": { + "description": "The ID of the lab virtual machine you want to save an image from.", + "$ref": "LabServices.json#/definitions/url" + } + } + } + }, + "parameters": { + "LabPlanNameParameter": { + "name": "labPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabServices.json new file mode 100644 index 000000000000..90ad6d0ea759 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/LabServices.json @@ -0,0 +1,324 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "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.LabServices/operations": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Operations" + ], + "summary": "Get all operations", + "description": "Returns a list of all operations.", + "operationId": "Operations_List", + "responses": { + "200": { + "description": "The request was successful; response contains all operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listOperations": { + "$ref": "./examples/LabServices/listOperations.json" + } + } + } + } + }, + "definitions": { + "provisioningState": { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Locked" + ], + "description": "Resource provisioning state.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Creating", + "description": "Resource is in the process of being created." + }, + { + "value": "Updating", + "description": "New property values are being applied to the resource." + }, + { + "value": "Deleting", + "description": "Resource is in the process of being deleted." + }, + { + "value": "Succeeded", + "description": "Resource is in healthy state after creation or update operation." + }, + { + "value": "Failed", + "description": "Previous operation on the resource has failed leaving resource in unhealthy state." + }, + { + "value": "Locked", + "description": "The resource is locked and changes are currently blocked. This could be due to maintenance or a scheduled operation. The state will go back to succeeded once the locking operation has finished." + } + ] + } + }, + "enableState": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "Property enabled state.", + "x-ms-enum": { + "name": "EnableState", + "modelAsString": false + } + }, + "connectionType": { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ], + "description": "A connection type for access labs and VMs (Public, Private or None).", + "x-ms-enum": { + "name": "ConnectionType", + "modelAsString": false + } + }, + "emailAddress": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + }, + "phoneNumber": { + "type": "string", + "minLength": 1, + "maxLength": 31, + "description": "A phone number." + }, + "url": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "osType": { + "type": "string", + "enum": [ + "Windows", + "Linux" + ], + "description": "The operating system type.", + "x-ms-enum": { + "name": "OsType", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "enum": [ + "Generalized", + "Specialized" + ], + "description": "The operating system state.", + "x-ms-enum": { + "name": "OsState", + "modelAsString": false, + "values": [ + { + "value": "Generalized", + "description": "Image does not contain any machine and user specific information." + }, + { + "value": "Specialized", + "description": "Image contains machine and user specific information." + } + ] + } + }, + "shutdownOnIdleMode": { + "type": "string", + "enum": [ + "None", + "UserAbsence", + "LowUsage" + ], + "description": "Defines whether to shut down VM on idle and the criteria for idle detection.", + "x-ms-enum": { + "name": "shutdownOnIdleMode", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The VM won't be shut down when it is idle." + }, + { + "value": "UserAbsence", + "description": "The VM will be considered as idle when there is no keyboard or mouse input." + }, + { + "value": "LowUsage", + "description": "The VM will be considered as idle when user is absent and the resource (CPU and disk) consumption is low." + } + ] + } + }, + "TrackedResourceUpdate": { + "description": "Base tracked resource type for all PATCH updates.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutoShutdownProfile": { + "description": "Profile for how to handle shutting down virtual machines.", + "type": "object", + "properties": { + "shutdownOnDisconnect": { + "description": "Whether shutdown on disconnect is enabled", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownWhenNotConnected": { + "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time.", + "default": "Disabled", + "$ref": "#/definitions/enableState" + }, + "shutdownOnIdle": { + "description": "Whether a VM will get shutdown when it has idled for a period of time.", + "default": "None", + "$ref": "#/definitions/shutdownOnIdleMode" + }, + "disconnectDelay": { + "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "noConnectDelay": { + "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.", + "type": "string", + "format": "duration" + }, + "idleDelay": { + "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled.", + "type": "string", + "format": "duration" + } + } + }, + "ConnectionProfile": { + "description": "Connection profile for how users connect to lab virtual machines.", + "type": "object", + "properties": { + "webSshAccess": { + "description": "The enabled access level for Web Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "webRdpAccess": { + "description": "The enabled access level for Web Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientSshAccess": { + "description": "The enabled access level for Client Access over SSH.", + "default": "None", + "$ref": "#/definitions/connectionType" + }, + "clientRdpAccess": { + "description": "The enabled access level for Client Access over RDP.", + "default": "None", + "$ref": "#/definitions/connectionType" + } + } + }, + "ResourceOperationError": { + "description": "Error details of the latest operation failure on this resource", + "type": "object", + "properties": { + "timestamp": { + "description": "The datetime of when the error occured", + "type": "string", + "format": "date-time" + }, + "code": { + "description": "The code that corresponds to the type of operation failure", + "type": "string" + }, + "message": { + "description": "The operation failure message", + "type": "string" + }, + "action": { + "description": "The operation action that failed", + "type": "string" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Labs.json new file mode 100644 index 000000000000..f18e8720a992 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Labs.json @@ -0,0 +1,802 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services labs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get all labs for a subscription.", + "description": "Returns a list of all labs for a subscription.", + "operationId": "Labs_ListBySubscription", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listLabs": { + "$ref": "./examples/Labs/listLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get all labs for a subscription and resource group.", + "description": "Returns a list of all labs in a resource group.", + "operationId": "Labs_ListByResourceGroup", + "responses": { + "200": { + "description": "The request was successful; response contains all Labs for the given subscription and resource group.", + "schema": { + "$ref": "#/definitions/PagedLabs" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listResourceGroupLabs": { + "$ref": "./examples/Labs/listResourceGroupLabs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "get": { + "tags": [ + "Lab" + ], + "summary": "Get a lab resource.", + "description": "Returns the properties of a lab resource.", + "operationId": "Labs_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getLab": { + "$ref": "./examples/Labs/getLab.json" + } + } + }, + "put": { + "tags": [ + "Lab" + ], + "summary": "Create or update a lab resource.", + "description": "Operation to create or update a lab resource.", + "operationId": "Labs_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Lab" + } + } + ], + "responses": { + "200": { + "description": "The update was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "201": { + "description": "The create was successful; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The update was successful and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putLab": { + "$ref": "./examples/Labs/putLab.json" + } + } + }, + "patch": { + "tags": [ + "Lab" + ], + "summary": "Update a lab resource.", + "description": "Operation to update a lab resource.", + "consumes": [ + "application/json" + ], + "operationId": "Labs_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/LabUpdate" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "202": { + "description": "The resource was update and has a long running operation; response contains the Lab.", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchLab": { + "$ref": "./examples/Labs/patchLab.json" + } + } + }, + "delete": { + "tags": [ + "Lab" + ], + "summary": "Deletes a lab resource.", + "description": "Operation to delete a lab resource.", + "operationId": "Labs_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteLab": { + "$ref": "./examples/Labs/deleteLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/publish": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": [ + "Lab" + ], + "summary": "Publish or re-publish a lab.", + "description": "Publish or re-publish a lab. This will create or update all lab resources, such as virtual machines.", + "operationId": "Labs_Publish", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "publishLab": { + "$ref": "./examples/Labs/publishLab.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/syncGroup": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/LabNameParameter" + } + ], + "post": { + "tags": [ + "Lab" + ], + "summary": "Manually sync the lab group.", + "description": "Action used to manually kick off an AAD group sync job.", + "operationId": "Labs_SyncGroup", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "syncLab": { + "$ref": "./examples/Labs/syncLab.json" + } + } + } + } + }, + "definitions": { + "Lab": { + "description": "The lab resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedLabs": { + "description": "Paged list of labs.", + "type": "object", + "properties": { + "value": { + "description": "The array page of lab results.", + "type": "array", + "items": { + "$ref": "#/definitions/Lab" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "LabNetworkProfile": { + "description": "Profile for how to handle networking for Labs.", + "type": "object", + "properties": { + "subnetId": { + "description": "The external subnet resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "loadBalancerId": { + "description": "The external load balancer resource id", + "$ref": "LabServices.json#/definitions/url" + }, + "publicIpId": { + "description": "The external public IP resource id", + "$ref": "LabServices.json#/definitions/url" + } + } + }, + "LabUpdate": { + "description": "The lab resource for updates.", + "type": "object", + "allOf": [ + { + "$ref": "LabServices.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "description": "Lab resource properties", + "$ref": "#/definitions/LabUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LabUpdateProperties": { + "description": "Properties of a lab resource used for updates.", + "type": "object", + "properties": { + "autoShutdownProfile": { + "description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.", + "$ref": "LabServices.json#/definitions/AutoShutdownProfile" + }, + "connectionProfile": { + "description": "The connection profile for the lab. This controls settings such as web access to lab resources or whether RDP or SSH ports are open.", + "$ref": "LabServices.json#/definitions/ConnectionProfile" + }, + "virtualMachineProfile": { + "description": "The profile used for creating lab virtual machines.", + "$ref": "#/definitions/VirtualMachineProfile" + }, + "securityProfile": { + "description": "The lab security profile.", + "$ref": "#/definitions/SecurityProfile" + }, + "rosterProfile": { + "description": "The lab user list management profile.", + "$ref": "#/definitions/RosterProfile" + }, + "labPlanId": { + "description": "The ID of the lab plan. Used during resource creation to provide defaults and acts as a permission container when creating a lab via labs.azure.com. Setting a labPlanId on an existing lab provides organization..", + "$ref": "LabServices.json#/definitions/url" + }, + "title": { + "description": "The title of the lab.", + "type": "string", + "minLength": 1, + "maxLength": 120 + }, + "description": { + "description": "The description of the lab.", + "type": "string" + } + } + }, + "LabProperties": { + "description": "Properties of a lab resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LabUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the lab.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "networkProfile": { + "description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.", + "$ref": "#/definitions/LabNetworkProfile", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "state": { + "description": "The lab state.", + "$ref": "#/definitions/LabState", + "readOnly": true + }, + "resourceOperationError": { + "description": "Error details of last operation done on lab.", + "$ref": "LabServices.json#/definitions/ResourceOperationError", + "readOnly": true + } + }, + "required": [ + "autoShutdownProfile", + "connectionProfile", + "securityProfile", + "virtualMachineProfile" + ] + }, + "SecurityProfile": { + "description": "The lab security profile.", + "type": "object", + "properties": { + "registrationCode": { + "description": "The registration code for the lab.", + "type": "string", + "readOnly": true + }, + "openAccess": { + "description": "Whether any user or only specified users can register to a lab.", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "RosterProfile": { + "description": "The lab user list management profile.", + "type": "object", + "properties": { + "activeDirectoryGroupId": { + "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.", + "type": "string" + }, + "ltiContextId": { + "description": "The unique context identifier for the lab in the lms.", + "type": "string" + }, + "lmsInstance": { + "description": "The base URI identifying the lms instance.", + "type": "string" + }, + "ltiClientId": { + "description": "The unique id of the azure lab services tool in the lms.", + "type": "string" + }, + "ltiRosterEndpoint": { + "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab.", + "type": "string" + } + } + }, + "VirtualMachineProfile": { + "description": "The base virtual machine configuration for a lab.", + "type": "object", + "properties": { + "createOption": { + "description": "Indicates what lab virtual machines are created from.", + "type": "string", + "enum": [ + "Image", + "TemplateVM" + ], + "x-ms-enum": { + "name": "CreateOption", + "modelAsString": false, + "values": [ + { + "value": "Image", + "description": "An image is used to create all lab user virtual machines. When this option is set, no template VM will be created." + }, + { + "value": "TemplateVM", + "description": "A template VM will be used to create all lab user virtual machines." + } + ] + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "imageReference": { + "description": "The image configuration for lab virtual machines.", + "$ref": "#/definitions/ImageReference", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "osType": { + "description": "The OS type of the image", + "$ref": "LabServices.json#/definitions/osType", + "readOnly": true + }, + "sku": { + "description": "The SKU for the lab. Defines the type of virtual machines used in the lab.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "additionalCapabilities": { + "description": "Additional VM capabilities.", + "$ref": "#/definitions/VirtualMachineAdditionalCapabilities", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageQuota": { + "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.", + "type": "string", + "format": "duration" + }, + "useSharedPassword": { + "description": "Enabling this option will use the same password for all user VMs.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "adminUser": { + "description": "Credentials for the admin user on the VM.", + "$ref": "#/definitions/Credentials" + }, + "nonAdminUser": { + "description": "Credentials for the non-admin user on the VM, if one exists.", + "$ref": "#/definitions/Credentials" + } + }, + "required": [ + "createOption", + "imageReference", + "usageQuota", + "sku", + "adminUser" + ] + }, + "VirtualMachineAdditionalCapabilities": { + "description": "The additional capabilities for a lab VM.", + "type": "object", + "properties": { + "installGpuDrivers": { + "description": "Flag to pre-install dedicated GPU drivers.", + "default": "Disabled", + "$ref": "LabServices.json#/definitions/enableState" + } + } + }, + "Credentials": { + "description": "Credentials for a user on a lab VM.", + "type": "object", + "properties": { + "username": { + "description": "The username to use when signing in to lab VMs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "password": { + "description": "The password for the user. This is required for the TemplateVM createOption.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "required": [ + "username" + ] + }, + "ImageReference": { + "description": "Image reference information. Used in the virtual machine profile.", + "type": "object", + "properties": { + "id": { + "description": "Image resource ID", + "$ref": "LabServices.json#/definitions/url" + }, + "offer": { + "description": "The image offer if applicable.", + "type": "string" + }, + "publisher": { + "description": "The image publisher", + "type": "string" + }, + "sku": { + "description": "The image SKU", + "type": "string" + }, + "version": { + "description": "The image version specified on creation.", + "type": "string" + }, + "exactVersion": { + "description": "The actual version of the image after use.", + "type": "string", + "readOnly": true + } + } + }, + "LabState": { + "type": "string", + "enum": [ + "Draft", + "Publishing", + "Scaling", + "Syncing", + "Published" + ], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "LabState", + "modelAsString": false, + "values": [ + { + "value": "Draft", + "description": "The lab is currently in draft (has not been published)." + }, + { + "value": "Publishing", + "description": "The lab is publishing." + }, + { + "value": "Scaling", + "description": "The lab is scaling." + }, + { + "value": "Syncing", + "description": "The lab is syncing users." + }, + { + "value": "Published", + "description": "The lab has been published." + } + ] + } + } + }, + "parameters": { + "LabNameParameter": { + "name": "labName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the lab that uniquely identifies it within containing lab plan. Used in resource URIs.", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/OperationResults.json new file mode 100644 index 000000000000..3a5ee5c52ffa --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/OperationResults.json @@ -0,0 +1,173 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "Azure Lab Services REST API.", + "x-ms-code-generation-settings": { + "internalConstructors": true + } + }, + "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.LabServices/operationResults/{operationResultId}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/OperationResultId" + } + ], + "get": { + "tags": [ + "OperationResults" + ], + "summary": "Get an azure operation result.", + "description": "Returns an azure operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the operation result.", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getOperationResult": { + "$ref": "./examples/OperationResults/getOperationResult.json" + } + } + } + } + }, + "definitions": { + "OperationResult": { + "description": "A long running operation result", + "type": "object", + "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" + }, + "status": { + "description": "The operation status", + "type": "string", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false, + "values": [ + { + "value": "NotStarted", + "description": "The operation has been accepted but hasn't started." + }, + { + "value": "InProgress", + "description": "The operation is running" + }, + { + "value": "Succeeded", + "description": "The operation Succeeded" + }, + { + "value": "Failed", + "description": "The operation failed" + }, + { + "value": "Canceled", + "description": "Not supported yet" + } + ] + } + }, + "startTime": { + "description": "Start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "End time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "description": "Percent completion", + "type": "number" + }, + "error": { + "description": "The error for a failure if the operation failed.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + }, + "required": [ + "status" + ] + } + }, + "parameters": { + "OperationResultId": { + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation result ID / name.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Schedules.json new file mode 100644 index 000000000000..dcdafbe05c21 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Schedules.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services schedules." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Schedule" + ], + "summary": "Get all schedules for a lab.", + "description": "Returns a list of all schedules for a lab.", + "operationId": "Schedules_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all schedules for the given lab.", + "schema": { + "$ref": "#/definitions/PagedSchedules" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "getListSchedule": { + "$ref": "./examples/Schedules/listSchedule.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules/{scheduleName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/ScheduleNameParameter" + } + ], + "get": { + "tags": [ + "Schedule" + ], + "summary": "Get a lab Schedule.", + "description": "Returns the properties of a lab Schedule.", + "operationId": "Schedules_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getSchedule": { + "$ref": "./examples/Schedules/getSchedule.json" + } + } + }, + "put": { + "tags": [ + "Schedule" + ], + "summary": "Create or update a lab schedule.", + "description": "Operation to create or update a lab schedule.", + "operationId": "Schedules_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "The schedule was created; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "putSchedule": { + "$ref": "./examples/Schedules/putSchedule.json" + } + } + }, + "patch": { + "tags": [ + "Schedule" + ], + "summary": "Update a lab schedule.", + "description": "Operation to update a lab schedule.", + "consumes": [ + "application/json" + ], + "operationId": "Schedules_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleUpdate" + } + } + ], + "responses": { + "200": { + "description": "The schedule was updated; response contains the lab schedule.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "patchSchedule": { + "$ref": "./examples/Schedules/patchSchedule.json" + } + } + }, + "delete": { + "tags": [ + "Schedule" + ], + "summary": "Deletes a schedule resource.", + "description": "Operation to delete a schedule resource.", + "operationId": "Schedules_Delete", + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteSchedule": { + "$ref": "./examples/Schedules/deleteSchedule.json" + } + } + } + } + }, + "definitions": { + "Schedule": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the schedule.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedSchedules": { + "description": "Paged list of schedules.", + "type": "object", + "properties": { + "value": { + "description": "The array page of schedule results.", + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of schedule results.", + "type": "string", + "readOnly": true + } + } + }, + "ScheduleUpdate": { + "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times. Used for updates.", + "type": "object", + "properties": { + "properties": { + "description": "Schedule resource properties", + "$ref": "#/definitions/ScheduleUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ScheduleUpdateProperties": { + "description": "Schedule resource properties used for updates.", + "type": "object", + "properties": { + "startAt": { + "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "stopAt": { + "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.", + "type": "string", + "format": "date-time" + }, + "recurrencePattern": { + "description": "The recurrence pattern of the scheduled actions.", + "$ref": "#/definitions/RecurrencePattern" + }, + "timeZoneId": { + "description": "The IANA timezone id for the schedule.", + "type": "string", + "maxLength": 50 + }, + "notes": { + "description": "Notes for this schedule.", + "type": "string", + "maxLength": 1000 + } + } + }, + "ScheduleProperties": { + "description": "Schedule resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the schedule.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "resourceOperationError": { + "description": "Error details of last operation done on schedule.", + "$ref": "LabServices.json#/definitions/ResourceOperationError", + "readOnly": true + } + }, + "required": [ + "stopAt", + "timeZoneId" + ] + }, + "RecurrencePattern": { + "description": "Recurrence pattern of a lab schedule.", + "type": "object", + "properties": { + "frequency": { + "description": "The frequency of the recurrence.", + "$ref": "#/definitions/RecurrenceFrequency" + }, + "weekDays": { + "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly.", + "type": "array", + "items": { + "$ref": "#/definitions/WeekDay", + "maxItems": 7 + } + }, + "interval": { + "description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 365 + }, + "expirationDate": { + "description": "When the recurrence will expire. This date is inclusive.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "frequency", + "expirationDate" + ] + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "description": "Days of the week.", + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": false, + "values": [ + { + "value": "Sunday", + "description": "Schedule will run on Sunday" + }, + { + "value": "Monday", + "description": "Schedule will run on Monday" + }, + { + "value": "Tuesday", + "description": "Schedule will run on Tuesday" + }, + { + "value": "Wednesday", + "description": "Schedule will run on Wednesday" + }, + { + "value": "Thursday", + "description": "Schedule will run on Thursday" + }, + { + "value": "Friday", + "description": "Schedule will run on Friday" + }, + { + "value": "Saturday", + "description": "Schedule will run on Saturday" + } + ] + } + }, + "RecurrenceFrequency": { + "type": "string", + "enum": [ + "Daily", + "Weekly" + ], + "description": "Schedule recurrence frequencies.", + "x-ms-enum": { + "name": "RecurrenceFrequency", + "modelAsString": false, + "values": [ + { + "value": "Daily", + "description": "Schedule will run every days." + }, + { + "value": "Weekly", + "description": "Schedule will run every week on days specified in weekDays." + } + ] + } + } + }, + "parameters": { + "ScheduleNameParameter": { + "name": "scheduleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Skus.json new file mode 100644 index 000000000000..d4b394db8aee --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Skus.json @@ -0,0 +1,306 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services resource SKUs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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.LabServices/skus": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Skus" + ], + "summary": "Gets the Azure Lab Services resource SKUs.", + "description": "Returns a list of Azure Lab Services resource SKUs.", + "operationId": "Skus_List", + "responses": { + "200": { + "description": "The request was successful; response contains Azure Lab Services resource skus.", + "schema": { + "$ref": "#/definitions/PagedLabServicesSkus" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listSkus": { + "$ref": "./examples/Skus/listSkus.json" + } + } + } + } + }, + "definitions": { + "LabServicesSku": { + "description": "Azure Lab Services resource SKUs", + "type": "object", + "properties": { + "resourceType": { + "description": "The lab services resource type.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU.", + "type": "string", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "LabServicesSkuTier", + "modelAsString": true + }, + "readOnly": true + }, + "size": { + "description": "The SKU size.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The family of the SKU.", + "type": "string", + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/LabServicesSkuCapacity" + }, + "capabilities": { + "description": "The capabilities of the SKU.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuCapabilities" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "locations": { + "description": "List of locations that are available for a size.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "costs": { + "description": "Metadata for retrieving price info of a lab services SKUs.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuCost" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "restrictions": { + "description": "Restrictions of a lab services SKUs.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSkuRestrictions" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "PagedLabServicesSkus": { + "description": "Paged list of lab services skus.", + "type": "object", + "properties": { + "value": { + "description": "The array page of sku results.", + "type": "array", + "items": { + "$ref": "#/definitions/LabServicesSku" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of sku results.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuCapabilities": { + "description": "The array of capabilities of a lab services SKU.", + "type": "object", + "properties": { + "name": { + "description": "The name of the capability for a SKU.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the capability for a SKU.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuCapacity": { + "description": "The scale out/in options of the SKU.", + "type": "object", + "properties": { + "default": { + "description": "The default capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "minimum": { + "description": "The lowest permitted capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "maximum": { + "description": "The highest permitted capacity for this resource.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "scaleType": { + "description": "The localized name of the resource.", + "type": "string", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The capacity is not adjustable in any way." + }, + { + "value": "Manual", + "description": "The user must manually scale this SKU in and out." + }, + { + "value": "Automatic", + "description": "The user is permitted to scale this SKU in and out." + } + ] + }, + "readOnly": true + } + } + }, + "LabServicesSkuCost": { + "description": "The array of costs of a lab services SKU.", + "type": "object", + "properties": { + "meterId": { + "description": "The meter id.", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The quantity of units charged.", + "type": "number", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "LabServicesSkuRestrictions": { + "description": "The restriction details.", + "type": "object", + "properties": { + "type": { + "description": "The type of restriction.", + "type": "string", + "enum": [ + "Location" + ], + "x-ms-enum": { + "name": "RestrictionType", + "modelAsString": true + }, + "readOnly": true + }, + "values": { + "description": "The values of the restriction.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "reasonCode": { + "description": "The reason for the restriction.", + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "RestrictionReasonCode", + "modelAsString": true + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Usages.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Usages.json new file mode 100644 index 000000000000..20764a9c8165 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Usages.json @@ -0,0 +1,169 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services core usages." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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.LabServices/locations/{location}/usages": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationRouteParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "Usages" + ], + "summary": "Gets the list of usages.", + "description": "Returns list of usage per SKU family for the specified subscription in the specified region.", + "operationId": "Usages_ListByLocation", + "responses": { + "200": { + "description": "The request was successful; a list of usages is returned", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUsages": { + "$ref": "./examples/Usages/getUsages.json" + } + } + } + } + }, + "definitions": { + "ListUsagesResult": { + "description": "List of Core Usages.", + "type": "object", + "properties": { + "value": { + "description": "The array page of Usages.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + } + }, + "nextLink": { + "description": "The link to get the next page of Usage result.", + "type": "string", + "readOnly": true + } + } + }, + "Usage": { + "description": "The core usage details.", + "type": "object", + "properties": { + "currentValue": { + "description": "The current usage.", + "type": "integer", + "format": "int64" + }, + "limit": { + "description": "The limit integer.", + "type": "integer", + "format": "int64" + }, + "unit": { + "description": "The unit details.", + "type": "string", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "name": { + "description": "The name.", + "$ref": "#/definitions/UsageName" + }, + "id": { + "description": "The fully qualified arm resource id.", + "type": "string" + } + } + }, + "UsageName": { + "description": "The Usage Names.", + "type": "object", + "properties": { + "localizedValue": { + "description": "The localized name of the resource.", + "type": "string" + }, + "skuInstances": { + "description": "The instances of the resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "value": { + "description": "The name of the resource.", + "type": "string" + } + } + } + }, + "parameters": { + "LocationRouteParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location name.", + "pattern": "^[-\\w\\._]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Users.json new file mode 100644 index 000000000000..059c63be8f6b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/Users.json @@ -0,0 +1,532 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services users." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "User" + ], + "summary": "Get all users for a lab.", + "description": "Returns a list of all users for a lab.", + "operationId": "Users_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all users for the given lab.", + "schema": { + "$ref": "#/definitions/PagedUsers" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUser": { + "$ref": "./examples/Users/listUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "get": { + "tags": [ + "User" + ], + "summary": "Get a lab user.", + "description": "Returns the properties of a lab user.", + "operationId": "Users_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getUser": { + "$ref": "./examples/Users/getUser.json" + } + } + }, + "put": { + "tags": [ + "User" + ], + "summary": "Create or update a lab user.", + "description": "Operation to create or update a lab user.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "201": { + "description": "The user was created successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "x-ms-examples": { + "putUser": { + "$ref": "./examples/Users/putUser.json" + } + } + }, + "patch": { + "tags": [ + "User" + ], + "summary": "Update a lab user.", + "description": "Operation to update a lab user.", + "consumes": [ + "application/json" + ], + "operationId": "Users_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/UserUpdate" + } + } + ], + "responses": { + "200": { + "description": "The user was updated successfully; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "The user was updated successfully and has a long running operation; response contains the lab user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "patchUser": { + "$ref": "./examples/Users/patchUser.json" + } + } + }, + "delete": { + "tags": [ + "User" + ], + "summary": "Deletes a user resource.", + "description": "Operation to delete a user resource.", + "operationId": "Users_Delete", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "204": { + "description": "The request has been fulfilled." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "deleteUser": { + "$ref": "./examples/Users/deleteUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}/invite": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/UserNameParameter" + } + ], + "post": { + "tags": [ + "User" + ], + "summary": "Invite a user to a lab.", + "description": "Operation to invite a user to a lab.", + "operationId": "Users_Invite", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/InviteBody" + } + } + ], + "responses": { + "200": { + "description": "The request was successful." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "inviteUser": { + "$ref": "./examples/Users/inviteUser.json" + } + } + } + } + }, + "definitions": { + "User": { + "description": "User of a lab that can register for and use virtual machines within the lab.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the user resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedUsers": { + "description": "Paged list of users.", + "type": "object", + "properties": { + "value": { + "description": "The array page of user results.", + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of image results.", + "type": "string", + "readOnly": true + } + } + }, + "UserUpdate": { + "description": "User of a lab that can register for and use virtual machines within the lab. Used for updates.", + "type": "object", + "properties": { + "properties": { + "description": "User resource properties", + "$ref": "#/definitions/UserUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "UserUpdateProperties": { + "description": "User resource properties used for updates.", + "type": "object", + "properties": { + "additionalUsageQuota": { + "description": "The amount of usage quota time the user gets in addition to the lab usage quota.", + "type": "string", + "format": "duration" + } + } + }, + "UserProperties": { + "description": "User resource properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UserUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "Current provisioning state of the user resource.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "resourceOperationError": { + "description": "Error details of last operation done on lab plan.", + "$ref": "LabServices.json#/definitions/ResourceOperationError", + "readOnly": true + }, + "displayName": { + "description": "Display name of the user, for example user's full name.", + "type": "string", + "readOnly": true + }, + "email": { + "description": "Email address of the user.", + "$ref": "LabServices.json#/definitions/emailAddress", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "registrationState": { + "description": "State of the user's registration within the lab.", + "$ref": "#/definitions/RegistrationState", + "readOnly": true + }, + "invitationState": { + "description": "State of the invitation message for the user.", + "$ref": "#/definitions/InvitationState", + "readOnly": true + }, + "invitationSent": { + "description": "Date and time when the invitation message was sent to the user.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "totalUsage": { + "description": "How long the user has used their virtual machines in this lab.", + "type": "string", + "format": "duration", + "readOnly": true + } + }, + "required": [ + "email" + ] + }, + "RegistrationState": { + "type": "string", + "enum": [ + "NotRegistered", + "Registered" + ], + "description": "The user lab registration state.", + "x-ms-enum": { + "name": "RegistrationState", + "modelAsString": false, + "values": [ + { + "value": "Registered", + "description": "User has not yet registered with the lab." + }, + { + "value": "NotRegistered", + "description": "User has registered with the lab." + } + ] + } + }, + "InvitationState": { + "type": "string", + "enum": [ + "NotSent", + "Sending", + "Sent", + "Failed" + ], + "description": "The lab user invitation state.", + "x-ms-enum": { + "name": "InvitationState", + "modelAsString": false, + "values": [ + { + "value": "NotSent", + "description": "The invitation has not been sent." + }, + { + "value": "Sending", + "description": "Currently sending the invitation." + }, + { + "value": "Sent", + "description": "The invitation has been successfully sent." + }, + { + "value": "Failed", + "description": "There was an error while sending the invitation." + } + ] + } + }, + "InviteBody": { + "description": "Body for a user invite request", + "type": "object", + "properties": { + "text": { + "description": "Custom text for the invite email.", + "type": "string" + } + } + } + }, + "parameters": { + "UserNameParameter": { + "name": "userName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/VirtualMachines.json new file mode 100644 index 000000000000..d99ef300ad3f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/VirtualMachines.json @@ -0,0 +1,620 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-07", + "title": "LabServicesClient", + "description": "REST API for managing Azure Lab Services virtual machines." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "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" + } + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "in": "query", + "name": "$filter", + "type": "string", + "description": "The filter to apply to the operation." + } + ], + "get": { + "tags": [ + "VirtualMachine" + ], + "summary": "Get all virtual machines for a lab.", + "description": "Returns a list of all virtual machines for a lab.", + "operationId": "VirtualMachines_ListByLab", + "responses": { + "200": { + "description": "The request was successful; response contains all virtual machines for the given lab.", + "schema": { + "$ref": "#/definitions/PagedVirtualMachines" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listVirtualMachine": { + "$ref": "./examples/VirtualMachines/listVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "get": { + "tags": [ + "VirtualMachine" + ], + "summary": "Get a lab virtual machine.", + "description": "Returns the properties for a lab virtual machine.", + "operationId": "VirtualMachines_Get", + "responses": { + "200": { + "description": "The request was successful; response contains the lab virtual machine.", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "getVirtualMachine": { + "$ref": "./examples/VirtualMachines/getVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Start a lab virtual machine.", + "description": "Action to start a lab virtual machine.", + "operationId": "VirtualMachines_Start", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "startVirtualMachine": { + "$ref": "./examples/VirtualMachines/startVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Stop a lab virtual machine.", + "description": "Action to stop a lab virtual machine.", + "operationId": "VirtualMachines_Stop", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "stopVirtualMachine": { + "$ref": "./examples/VirtualMachines/stopVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Re-image a lab virtual machine.", + "description": "Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.", + "operationId": "VirtualMachines_Reimage", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "reimageVirtualMachine": { + "$ref": "./examples/VirtualMachines/reimageVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "description": "Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.", + "operationId": "VirtualMachines_Redeploy", + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "redeployVirtualMachine": { + "$ref": "./examples/VirtualMachines/redeployVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "Labs.json#/parameters/LabNameParameter" + }, + { + "$ref": "#/parameters/VirtualMachineNameParameter" + } + ], + "post": { + "tags": [ + "VirtualMachine" + ], + "summary": "Reset a lab virtual machine password.", + "description": "Resets a lab virtual machine password.", + "operationId": "VirtualMachines_ResetPassword", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The request body.", + "required": true, + "schema": { + "$ref": "#/definitions/ResetPasswordBody" + } + } + ], + "responses": { + "200": { + "description": "The request was completed." + }, + "202": { + "description": "The request was accepted." + }, + "default": { + "description": "The default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "resetPasswordVirtualMachine": { + "$ref": "./examples/VirtualMachines/resetPasswordVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "VirtualMachine": { + "description": "A lab virtual machine resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System data of the Lab virtual machine.", + "readOnly": true + }, + "properties": { + "description": "Virtual machine resource properties", + "$ref": "#/definitions/VirtualMachineProperties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "PagedVirtualMachines": { + "description": "Paged list of lab services virtual machines.", + "type": "object", + "properties": { + "value": { + "description": "The array page of virtual machine results.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "The link to get the next page of virtual machine results.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineProperties": { + "description": "Virtual machine resource properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Current provisioning state of the virtual machine.", + "$ref": "LabServices.json#/definitions/provisioningState", + "readOnly": true + }, + "state": { + "description": "The current state of the virtual machine", + "$ref": "#/definitions/VirtualMachineState", + "readOnly": true + }, + "resourceOperationError": { + "description": "Error details of last operation done on lab plan.", + "$ref": "LabServices.json#/definitions/ResourceOperationError", + "readOnly": true + }, + "connectionProfile": { + "description": "Profile for information about connecting to the virtual machine.", + "$ref": "#/definitions/VirtualMachineConnectionProfile", + "readOnly": true + }, + "claimedByUserId": { + "description": "The lab user ID (not the PUID!) of who claimed the virtual machine.", + "type": "string", + "readOnly": true + }, + "vmType": { + "description": "The type of this VM resource", + "$ref": "#/definitions/VirtualMachineType", + "readOnly": true + } + } + }, + "ResetPasswordBody": { + "description": "Body of a reset password request.", + "type": "object", + "properties": { + "username": { + "description": "The user whose password is being reset", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "password": { + "description": "The password", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "required": [ + "username", + "password" + ] + }, + "VirtualMachineState": { + "type": "string", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "ResettingPassword", + "Reimaging", + "Redeploying" + ], + "description": "The state of a virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineState", + "modelAsString": false, + "values": [ + { + "value": "Stopped", + "description": "The VM is currently stopped." + }, + { + "value": "Starting", + "description": "The VM is starting." + }, + { + "value": "Running", + "description": "The VM is running." + }, + { + "value": "Stopping", + "description": "The VM is stopping." + }, + { + "value": "ResettingPassword", + "description": "The VM password is being reset." + }, + { + "value": "Reimaging", + "description": "The VM is being reimaged." + }, + { + "value": "Redeploying", + "description": "The VM is being redeployed." + } + ] + } + }, + "VirtualMachineConnectionProfile": { + "description": "The connection information for the virtual machine", + "type": "object", + "properties": { + "privateIpAddress": { + "description": "The private IP address of the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshAuthority": { + "description": "Port and host name separated by semicolon for connecting via SSH protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "sshInBrowserUrl": { + "description": "URL for connecting via SSH protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "rdpAuthority": { + "description": "Port and host name separated by semicolon for connecting via RDP protocol to the virtual machine.", + "type": "string", + "readOnly": true + }, + "rdpInBrowserUrl": { + "description": "URL for connecting via RDP protocol to the virtual machine in browser.", + "$ref": "LabServices.json#/definitions/url", + "readOnly": true + }, + "adminUsername": { + "description": "The username used to log on to the virtual machine as admin.", + "type": "string", + "readOnly": true + }, + "nonAdminUsername": { + "description": "The username used to log on to the virtual machine as non-admin, if one exists.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualMachineType": { + "type": "string", + "enum": [ + "User", + "Template" + ], + "description": "The type of the lab virtual machine.", + "x-ms-enum": { + "name": "VirtualMachineType", + "modelAsString": false, + "values": [ + { + "value": "User", + "description": "A user VM" + }, + { + "value": "Template", + "description": "A template VM" + } + ] + } + } + }, + "parameters": { + "VirtualMachineNameParameter": { + "name": "virtualMachineName", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the virtual machine that uniquely identifies it within the containing lab. Used in resource URIs.", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/getImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/getImage.json new file mode 100644 index 000000000000..77a59c91639c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/getImage.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/listImages.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/listImages.json new file mode 100644 index 000000000000..ed49b1fab9d6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/listImages.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "sharedGalleryId": null, + "enabledState": "Enabled" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image2", + "name": "image2", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "A custom image", + "description": "An example custom image response", + "osType": "Windows", + "offer": null, + "publisher": null, + "sku": null, + "version": null, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/sig/images/test-1", + "enabledState": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/patchImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/patchImage.json new file mode 100644 index 000000000000..cd5cb9df8208 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/patchImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/putImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/putImage.json new file mode 100644 index 000000000000..cd5cb9df8208 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Images/putImage.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "imageName": "image1", + "body": { + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1", + "name": "image1", + "type": "Microsoft.LabServices/Image", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Windows Server 2019 Datacenter", + "description": "A description of the image", + "osType": "Windows", + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410", + "enabledState": "Enabled" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/deleteLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/deleteLabPlan.json new file mode 100644 index 000000000000..9a809b460db6 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/deleteLabPlan.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/getLabPlan.json new file mode 100644 index 000000000000..37e2ab03816c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/getLabPlan.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "a799d834-d3c9-4554-ba5d-3771a995aa6a", + "tenantId": "8c33e124-0581-45e0-84d4-f80d59de7806" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listLabPlans.json new file mode 100644 index 000000000000..5fe8f6bc8843 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listLabPlans.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "a799d834-d3c9-4554-ba5d-3771a995aa6a", + "tenantId": "8c33e124-0581-45e0-84d4-f80d59de7806" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listResourceGroupLabPlans.json new file mode 100644 index 000000000000..6a2578f91c5b --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/listResourceGroupLabPlans.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/patchLabPlan.json new file mode 100644 index 000000000000..a7c90a7d8bfa --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/patchLabPlan.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/putLabPlan.json new file mode 100644 index 000000000000..cc6e49b4b01c --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/putLabPlan.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "location": "westus", + "properties": { + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "name": "testlabplan", + "type": "Microsoft.LabServices/LabPlan", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "defaultConnectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "defaultAutoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "defaultNetworkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig", + "supportInfo": { + "url": "help.contoso.com", + "email": "help@contoso.com", + "phone": "+1-202-555-0123", + "instructions": "Contact support for help." + } + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/saveImageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/saveImageVirtualMachine.json new file mode 100644 index 000000000000..95ece9f01355 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabPlans/saveImageVirtualMachine.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labPlanName": "testlabplan", + "body": { + "name": "Test Image", + "labVirtualMachineId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabServices/listOperations.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabServices/listOperations.json new file mode 100644 index 000000000000..186756527319 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/LabServices/listOperations.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-06-07" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "Microsoft.LabServices/labPlans/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Lab Services", + "resource": "Microsoft.LabServices/labPlans", + "operation": "Create or Update Lab Plan", + "description": "Create new or update an existing lab plan." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/deleteLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/deleteLab.json new file mode 100644 index 000000000000..89333ddd864e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/deleteLab.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/getLab.json new file mode 100644 index 000000000000..581c3615214d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/getLab.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listLabs.json new file mode 100644 index 000000000000..96b5c665e30a --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listLabs.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listResourceGroupLabs.json new file mode 100644 index 000000000000..624406d727da --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/listResourceGroupLabs.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/patchLab.json new file mode 100644 index 000000000000..4bda544f8e77 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/patchLab.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "properties": { + "securityProfile": { + "openAccess": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/id" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Enabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/publishLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/publishLab.json new file mode 100644 index 000000000000..fa0af0470d09 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/publishLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/putLab.json new file mode 100644 index 000000000000..2afe7a10adb7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/putLab.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "body": { + "location": "westus", + "properties": { + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "sku": { + "name": "Medium" + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Creating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab", + "name": "testlabplan", + "type": "Microsoft.LabServices/Lab", + "location": "westus", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "connectionProfile": { + "webSshAccess": "None", + "webRdpAccess": "None", + "clientSshAccess": "Public", + "clientRdpAccess": "Public" + }, + "autoShutdownProfile": { + "shutdownOnDisconnect": "Enabled", + "shutdownWhenNotConnected": "Enabled", + "shutdownOnIdle": "UserAbsence", + "disconnectDelay": "PT5M", + "noConnectDelay": "PT5M", + "idleDelay": "PT5M" + }, + "securityProfile": { + "registrationCode": "fAkEcodE", + "openAccess": "Disabled" + }, + "networkProfile": { + "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "virtualMachineProfile": { + "createOption": "TemplateVM", + "imageReference": { + "offer": "WindowsServer", + "publisher": "Microsoft", + "sku": "2019-Datacenter", + "version": "2019.0.20190410" + }, + "osType": "Windows", + "sku": { + "name": "Medium", + "capacity": 20 + }, + "additionalCapabilities": { + "installGpuDrivers": "Disabled" + }, + "usageQuota": "PT10H", + "useSharedPassword": "Disabled", + "adminUser": { + "username": "test-user" + } + }, + "title": "Test Lab", + "description": "This is a test lab.", + "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan", + "state": "Draft" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/syncLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/syncLab.json new file mode 100644 index 000000000000..fa0af0470d09 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Labs/syncLab.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/OperationResults/getOperationResult.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/OperationResults/getOperationResult.json new file mode 100644 index 000000000000..f4a17d952e44 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/OperationResults/getOperationResult.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "operationResultId": "a64149d8-84cb-4566-ab8e-b4ee1a074174" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174", + "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174", + "status": "InProgress", + "startTime": "2020-05-01T10:00:00Z" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/deleteSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/deleteSchedule.json new file mode 100644 index 000000000000..4a554bded753 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/deleteSchedule.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/getSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/getSchedule.json new file mode 100644 index 000000000000..ceade766543f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/getSchedule.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/listSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/listSchedule.json new file mode 100644 index 000000000000..804df1b424d7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/listSchedule.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 1, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule2", + "name": "schedule2", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Weekly", + "weekDays": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 2 for students" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/patchSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/patchSchedule.json new file mode 100644 index 000000000000..5eef56533b74 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/patchSchedule.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14T23:59:59Z" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/putSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/putSchedule.json new file mode 100644 index 000000000000..0375ccb23459 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Schedules/putSchedule.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "scheduleName": "schedule1", + "body": { + "properties": { + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1", + "name": "schedule1", + "type": "Microsoft.LabServices/Schedule", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "startAt": "2020-05-26T12:00:00Z", + "stopAt": "2020-05-26T18:00:00Z", + "recurrencePattern": { + "frequency": "Daily", + "interval": 2, + "expirationDate": "2020-08-14T23:59:59Z" + }, + "timeZoneId": "America/Los_Angeles", + "notes": "Schedule 1 for students" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Skus/listSkus.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Skus/listSkus.json new file mode 100644 index 000000000000..801f09a96561 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Skus/listSkus.json @@ -0,0 +1,271 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "resourceType": "labs", + "name": "Standard_Fv2_2_4GB_64_S_SSD", + "tier": "Standard", + "size": "Fv2_2_4GB_64_S_SSD", + "family": "Fv2", + "locations": [ + "eastus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 0.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 20.4, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "4" + }, + { + "name": "StorageGB", + "value": "64" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Fv2_2_4GB_256_S_SSD", + "tier": "Standard", + "size": "Fv2_2_4GB_256_S_SSD", + "family": "Fv2", + "locations": [ + "eastus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 2.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 22.8, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "4" + }, + { + "name": "StorageGB", + "value": "256" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Dv4_2_8GB_128_S_SSD", + "tier": "Standard", + "size": "Dv4_2_8GB_128_S_SSD", + "family": "Dv4", + "locations": [ + "eastus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 1.4, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 24.2, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "8" + }, + { + "name": "StorageGB", + "value": "128" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + }, + { + "resourceType": "labs", + "name": "Standard_Dv4_2_8GB_256_S_SSD", + "tier": "Standard", + "size": "Dv4_2_8GB_256_S_SSD", + "family": "Dv4", + "locations": [ + "eastus2" + ], + "capacity": { + "minimum": 0, + "maximum": 400, + "default": 1, + "scaleType": "Automatic" + }, + "costs": [ + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "WindowsHourly" + }, + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "HybridBenefitHourly" + }, + { + "meterId": "", + "quantity": 2.7, + "extendedUnit": "InactiveHourly" + }, + { + "meterId": "", + "quantity": 25.8, + "extendedUnit": "LinuxHourly" + } + ], + "capabilities": [ + { + "name": "vCPUs", + "value": "2" + }, + { + "name": "MemoryGB", + "value": "8" + }, + { + "name": "StorageGB", + "value": "256" + }, + { + "name": "StorageType", + "value": "StandardSSD" + }, + { + "name": "HyperVGenerations", + "value": "V1,V2" + }, + { + "name": "IsGpu", + "value": "False" + } + ] + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Usages/getUsages.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Usages/getUsages.json new file mode 100644 index 000000000000..5f488134e4dc --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Usages/getUsages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "eastus2" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "currentValue": 10, + "limit": 100, + "unit": "Count", + "name": { + "value": "NCasv3T4" + }, + "id": "" + }, + { + "currentValue": 5, + "limit": 30, + "unit": "Count", + "name": { + "value": "ESv4" + }, + "id": "" + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/deleteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/deleteUser.json new file mode 100644 index 000000000000..c3230e1895c4 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/deleteUser.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "204": {} + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/getUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/getUser.json new file mode 100644 index 000000000000..38c792cbcf8f --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/getUser.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/inviteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/inviteUser.json new file mode 100644 index 000000000000..639d36297a3d --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/inviteUser.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "text": "Invitation to lab testlab" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/listUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/listUser.json new file mode 100644 index 000000000000..bfe85b4d825e --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/listUser.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/patchUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/patchUser.json new file mode 100644 index 000000000000..b3c221379e43 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/patchUser.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "PT10H" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/putUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/putUser.json new file mode 100644 index 000000000000..454c01c63f31 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/Users/putUser.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "userName": "testuser", + "body": { + "properties": { + "additionalUsageQuota": "PT10H", + "email": "testuser@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + }, + "202": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser", + "name": "default", + "type": "Microsoft.LabServices/User", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Updating", + "displayName": "Test User", + "email": "testuser@contoso.com", + "registrationState": "Registered", + "invitationState": "Sent", + "totalUsage": "PT10H", + "additionalUsageQuota": "PT10H" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/getVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/getVirtualMachine.json new file mode 100644 index 000000000000..d75b47c394a7 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/getVirtualMachine.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "adminUsername": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/listVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/listVirtualMachine.json new file mode 100644 index 000000000000..2f25fd4fd412 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/listVirtualMachine.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template", + "name": "default", + "type": "Microsoft.LabServices/VirtualMachine", + "systemData": { + "createdBy": "identity123", + "createdByType": "User", + "createdAt": "2020-05-01T10:00:00Z", + "lastModifiedBy": "identity123", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-06-01T09:12:28Z" + }, + "properties": { + "provisioningState": "Succeeded", + "state": "Running", + "connectionProfile": { + "privateIpAddress": "192.168.2.1", + "sshAuthority": "vm-42.contoso.com:22", + "sshInBrowserUrl": "vm-42.contoso.com", + "rdpAuthority": "vm-42.contoso.com:3389", + "rdpInBrowserUrl": "vm-42.contoso.com", + "adminUsername": "user123" + }, + "claimedByUserId": "testuser567", + "vmType": "Template" + } + } + ] + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/redeployVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/redeployVirtualMachine.json new file mode 100644 index 000000000000..63bb310dc2b2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/redeployVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/reimageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/reimageVirtualMachine.json new file mode 100644 index 000000000000..63bb310dc2b2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/reimageVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/resetPasswordVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/resetPasswordVirtualMachine.json new file mode 100644 index 000000000000..4a66526b0c37 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/resetPasswordVirtualMachine.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template", + "body": { + "username": "example-username", + "password": "example-password" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/startVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/startVirtualMachine.json new file mode 100644 index 000000000000..63bb310dc2b2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/startVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/stopVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/stopVirtualMachine.json new file mode 100644 index 000000000000..63bb310dc2b2 --- /dev/null +++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2023-06-07/examples/VirtualMachines/stopVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-06-07", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "labName": "testlab", + "virtualMachineName": "template" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174" + } + } + } +} diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index 8a44a0a3bbbd..25925d4ef8ae 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -26,15 +26,32 @@ These are the global settings for the LabServices API. ``` yaml openapi-type: arm -tag: package-2022-08 +tag: package-2023-06 ``` +### Tag: package-2023-06 + +These settings apply only when `--tag=package-2023-06` is specified on the command line. + +```yaml $(tag) == 'package-2023-06' +input-file: + - Microsoft.LabServices/stable/2023-06-07/Images.json + - Microsoft.LabServices/stable/2023-06-07/LabPlans.json + - Microsoft.LabServices/stable/2023-06-07/LabServices.json + - Microsoft.LabServices/stable/2023-06-07/Labs.json + - Microsoft.LabServices/stable/2023-06-07/OperationResults.json + - Microsoft.LabServices/stable/2023-06-07/Schedules.json + - Microsoft.LabServices/stable/2023-06-07/Skus.json + - Microsoft.LabServices/stable/2023-06-07/Usages.json + - Microsoft.LabServices/stable/2023-06-07/Users.json + - Microsoft.LabServices/stable/2023-06-07/VirtualMachines.json +``` ### Tag: package-2022-08 These settings apply only when `--tag=package-2022-08` is specified on the command line. -```yaml $(tag) == 'package-2022-08' +``` yaml $(tag) == 'package-2022-08' input-file: - Microsoft.LabServices/stable/2022-08-01/Images.json - Microsoft.LabServices/stable/2022-08-01/LabPlans.json @@ -47,6 +64,7 @@ input-file: - Microsoft.LabServices/stable/2022-08-01/Users.json - Microsoft.LabServices/stable/2022-08-01/VirtualMachines.json ``` + ### Tag: package-preview-2021-11 These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/mfe.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/mfe.json index b0e007311c3a..e26b39053a38 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/mfe.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-08-01-preview/mfe.json @@ -25545,6 +25545,15 @@ ], "x-nullable": true }, + "resources": { + "description": "Compute Resource configuration for the job.", + "default": "{}", + "$ref": "#/definitions/JobResourceConfiguration", + "x-ms-mutability": [ + "create", + "read" + ] + }, "samplingAlgorithm": { "description": "[Required] The hyperparameter sampling algorithm", "$ref": "#/definitions/SamplingAlgorithm" diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/Maintenance.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/Maintenance.json new file mode 100644 index 000000000000..f1763aea03eb --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/Maintenance.json @@ -0,0 +1,3034 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-04-01", + "title": "MaintenanceManagementClient", + "description": "Azure Maintenance Management Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations": { + "get": { + "tags": [ + "PublicMaintenanceConfigurations" + ], + "summary": "Get Public Maintenance Configuration records", + "operationId": "PublicMaintenanceConfigurations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListMaintenanceConfigurationsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "PublicMaintenanceConfigurations_List": { + "$ref": "./examples/PublicMaintenanceConfigurations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/{resourceName}": { + "get": { + "tags": [ + "PublicMaintenanceConfigurations" + ], + "summary": "Get Public Maintenance Configuration record", + "operationId": "PublicMaintenanceConfigurations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Maintenance Configuration Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "PublicMaintenanceConfigurations_GetForResource": { + "$ref": "./examples/PublicMaintenanceConfigurations_GetForResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": { + "get": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Track Updates to resource with parent", + "description": "Track maintenance updates to resource with parent", + "operationId": "ApplyUpdates_GetParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "applyUpdateName", + "in": "path", + "description": "applyUpdate Id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_GetParent": { + "$ref": "./examples/ApplyUpdates_GetParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": { + "get": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Track Updates to resource", + "description": "Track maintenance updates to resource", + "operationId": "ApplyUpdates_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "applyUpdateName", + "in": "path", + "description": "applyUpdate Id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_Get": { + "$ref": "./examples/ApplyUpdates_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": { + "put": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Apply Updates to resource with parent", + "description": "Apply maintenance updates to resource with parent", + "operationId": "ApplyUpdates_CreateOrUpdateParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Apply-update update request accepted", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "201": { + "description": "Apply-update create request accepted", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_CreateOrUpdateParent": { + "$ref": "./examples/ApplyUpdates_CreateOrUpdateParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": { + "put": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Apply Updates to resource", + "description": "Apply maintenance updates to resource", + "operationId": "ApplyUpdates_CreateOrUpdate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ApplyUpdate update request accepted", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "201": { + "description": "ApplyUpdate create request accepted", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_CreateOrUpdate": { + "$ref": "./examples/ApplyUpdates_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Get configuration assignment", + "description": "Get configuration assignment for resource..", + "operationId": "ConfigurationAssignments_GetParent", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_GetParent": { + "$ref": "./examples/ConfigurationAssignments_GetParent.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignments_CreateOrUpdateParent", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Configuration assignment update request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "201": { + "description": "Configuration assignment create request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_CreateOrUpdateParent": { + "$ref": "./examples/ConfigurationAssignments_CreateOrUpdateParent.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignments_DeleteParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_DeleteParent": { + "$ref": "./examples/ConfigurationAssignments_DeleteParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Get configuration assignment", + "description": "Get configuration assignment for resource..", + "operationId": "ConfigurationAssignments_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_Get": { + "$ref": "./examples/ConfigurationAssignments_Get.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignments_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Configuration assignment update request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "201": { + "description": "Configuration assignment create request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignments_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_Delete": { + "$ref": "./examples/ConfigurationAssignments_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "List configurationAssignments for resource", + "description": "List configurationAssignments for resource.", + "operationId": "ConfigurationAssignments_ListParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListConfigurationAssignmentsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ConfigurationAssignments_ListParent": { + "$ref": "./examples/ConfigurationAssignments_ListParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "List configurationAssignments for resource", + "description": "List configurationAssignments for resource.", + "operationId": "ConfigurationAssignments_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListConfigurationAssignmentsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ConfigurationAssignments_List": { + "$ref": "./examples/ConfigurationAssignments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Get Configuration record", + "operationId": "MaintenanceConfigurations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Maintenance Configuration Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_GetForResource": { + "$ref": "./examples/MaintenanceConfigurations_GetForResource.json" + }, + "MaintenanceConfigurations_GetForResource_GuestOSPatchWindows": { + "$ref": "./examples/MaintenanceConfigurations_GetForResource_GuestOSPatchWindows.json" + }, + "MaintenanceConfigurations_GetForResource_GuestOSPatchLinux": { + "$ref": "./examples/MaintenanceConfigurations_GetForResource_GuestOSPatchLinux.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Create or Update configuration record", + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Maintenance Configuration Name", + "required": true, + "type": "string" + }, + { + "name": "configuration", + "in": "body", + "description": "The configuration", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Maintenance configuration update request accepted", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "201": { + "description": "Maintenance configuration create request accepted", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_CreateOrUpdateForResource": { + "$ref": "./examples/MaintenanceConfigurations_CreateOrUpdateForResource.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Delete Configuration record", + "operationId": "MaintenanceConfigurations_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Maintenance Configuration Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_DeleteForResource": { + "$ref": "./examples/MaintenanceConfigurations_DeleteForResource.json" + } + } + }, + "patch": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Patch configuration record", + "operationId": "MaintenanceConfigurations_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Maintenance Configuration Name", + "required": true, + "type": "string" + }, + { + "name": "configuration", + "in": "body", + "description": "The configuration", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_UpdateForResource": { + "$ref": "./examples/MaintenanceConfigurations_UpdateForResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Get Configuration records within a subscription", + "operationId": "MaintenanceConfigurations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListMaintenanceConfigurationsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "MaintenanceConfigurations_List": { + "$ref": "./examples/MaintenanceConfigurations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Get Configuration records within a subscription and resource group", + "operationId": "MaintenanceConfigurationsForResourceGroup_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListMaintenanceConfigurationsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "MaintenanceConfigurationsResourceGroup_List": { + "$ref": "./examples/MaintenanceConfigurationsResourceGroup_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/applyUpdates": { + "get": { + "tags": [ + "ApplyUpdate" + ], + "summary": "Get Configuration records within a subscription", + "operationId": "ApplyUpdates_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ApplyUpdates_List": { + "$ref": "./examples/ApplyUpdates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/applyUpdates": { + "get": { + "tags": [ + "ApplyUpdate" + ], + "summary": "Get Configuration records within a subscription and resource group", + "operationId": "ApplyUpdateForResourceGroup_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListApplyUpdate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ApplyUpdatesResourceGroup_List": { + "$ref": "./examples/ApplyUpdatesResourceGroup_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/configurationAssignments": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Get configuration assignment within a subscription", + "operationId": "ConfigurationAssignmentsWithinSubscription_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListConfigurationAssignmentsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ConfigurationAssignmentsResultWithinSubscription_List": { + "$ref": "./examples/ConfigurationAssignmentsResultWithinSubscription_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Get configuration assignment", + "description": "Get configuration assignment for resource..", + "operationId": "ConfigurationAssignmentsForSubscriptions_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_GetParent": { + "$ref": "./examples/ConfigurationAssignmentsForSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignmentsForSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Configuration assignment update request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "201": { + "description": "Configuration assignment create request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForSubscriptions_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignmentsForSubscriptions_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignmentsForSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForSubscriptions_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignmentsForSubscriptions_UpdateForResource.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignmentsForSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForSubscriptions_Delete": { + "$ref": "./examples/ConfigurationAssignmentsForSubscriptions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Get configuration assignment", + "description": "Get configuration assignment for resource..", + "operationId": "ConfigurationAssignmentsForResourceGroup_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string", + "pattern": "^.+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForResourceGroup_Get": { + "$ref": "./examples/ConfigurationAssignmentsForResourceGroup_Get.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignmentsForResourceGroup_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Configuration assignment update request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "201": { + "description": "Configuration assignment create request accepted", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForResourceGroup_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignmentsForResourceGroup_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignmentsForResourceGroup_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForResourceGroup_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignmentsForResourceGroup_UpdateForResource.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignmentsForResourceGroup_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignmentsForResourceGroup_Delete": { + "$ref": "./examples/ConfigurationAssignmentsForResourceGroup_Delete.json" + } + } + } + }, + "/providers/Microsoft.Maintenance/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations", + "description": "List the available operations supported by the Microsoft.Maintenance resource provider", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": { + "get": { + "tags": [ + "Updates" + ], + "summary": "Get Updates to resource", + "description": "Get updates to resources.", + "operationId": "Updates_ListParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUpdatesResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Updates_ListParent": { + "$ref": "./examples/Updates_ListParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": { + "get": { + "tags": [ + "Updates" + ], + "summary": "Get Updates to resource", + "description": "Get updates to resources.", + "operationId": "Updates_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUpdatesResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Updates_List": { + "$ref": "./examples/Updates_List.json" + } + } + } + } + }, + "definitions": { + "ApplyUpdateProperties": { + "description": "Properties for apply update", + "type": "object", + "properties": { + "status": { + "description": "The status", + "enum": [ + "Pending", + "InProgress", + "Completed", + "RetryNow", + "RetryLater" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true, + "values": [ + { + "value": "Pending", + "description": "There are pending updates to be installed." + }, + { + "value": "InProgress", + "description": "Updates installation are in progress." + }, + { + "value": "Completed", + "description": "All updates are successfully applied." + }, + { + "value": "RetryNow", + "description": "Updates installation failed but are ready to retry again." + }, + { + "value": "RetryLater", + "description": "Updates installation failed and should be retried later." + } + ] + } + }, + "resourceId": { + "description": "The resourceId", + "type": "string" + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last Update time", + "type": "string" + } + } + }, + "Resource": { + "description": "Definition of a Resource", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of the resource", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the resource", + "type": "string", + "readOnly": true + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true + }, + "ApplyUpdate": { + "description": "Apply Update request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApplyUpdateProperties", + "description": "Properties of the apply update", + "x-ms-client-flatten": true + } + } + }, + "ListApplyUpdate": { + "description": "Response for ApplyUpdate list", + "type": "object", + "properties": { + "value": { + "description": "The list of apply updates", + "type": "array", + "items": { + "$ref": "#/definitions/ApplyUpdate" + } + } + } + }, + "ConfigurationAssignmentFilterProperties": { + "type": "object", + "description": "Azure query for the update configuration.", + "properties": { + "resourceTypes": { + "type": "array", + "description": "List of allowed resources.", + "items": { + "type": "string", + "description": "List of allowed resources" + } + }, + "resourceGroups": { + "type": "array", + "description": "List of allowed resource groups.", + "items": { + "type": "string", + "description": "List of allowed resource groups" + } + }, + "osTypes": { + "type": "array", + "description": "List of allowed operating systems.", + "items": { + "type": "string", + "description": "List of allowed operating systems" + } + }, + "locations": { + "type": "array", + "description": "List of locations to scope the query to.", + "items": { + "type": "string", + "description": "Location to scope the query to." + } + }, + "tagSettings": { + "type": "object", + "description": "Tag settings for the VM.", + "$ref": "#/definitions/TagSettingsProperties" + } + } + }, + "TagSettingsProperties": { + "type": "object", + "description": "Tag filter information for the VM.", + "properties": { + "tags": { + "type": "object", + "description": "Dictionary of tags with its list of values.", + "additionalProperties": { + "type": "array", + "items": { + "type": "string", + "description": "List of tag values for a tag." + } + } + }, + "filterOperator": { + "type": "string", + "description": "Filter VMs by Any or All specified tags.", + "enum": [ + "All", + "Any" + ], + "x-ms-enum": { + "name": "TagOperators", + "modelAsString": false + } + } + } + }, + "ConfigurationAssignmentProperties": { + "description": "Properties for configuration assignment", + "type": "object", + "properties": { + "maintenanceConfigurationId": { + "description": "The maintenance configuration Id", + "type": "string" + }, + "resourceId": { + "description": "The unique resourceId", + "type": "string" + }, + "filter": { + "$ref": "#/definitions/ConfigurationAssignmentFilterProperties", + "description": "Properties of the configuration assignment" + } + } + }, + "ConfigurationAssignment": { + "description": "Configuration Assignment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Location of the resource", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ConfigurationAssignmentProperties", + "description": "Properties of the configuration assignment", + "x-ms-client-flatten": true + } + } + }, + "ListConfigurationAssignmentsResult": { + "description": "Response for ConfigurationAssignments list", + "type": "object", + "properties": { + "value": { + "description": "The list of configuration Assignments", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + } + }, + "MaintenanceWindow": { + "description": "Definition of a MaintenanceWindow", + "type": "object", + "properties": { + "startDateTime": { + "description": "Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.", + "type": "string" + }, + "expirationDateTime": { + "description": "Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.", + "type": "string" + }, + "duration": { + "description": "Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.", + "type": "string" + }, + "timeZone": { + "description": "Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.", + "type": "string" + }, + "recurEvery": { + "description": "Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday] [Optional Offset(No. of days)]. Offset value must be between -6 to 6 inclusive. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday, recurEvery: Month Last Sunday Offset-3, recurEvery: Month Third Sunday Offset6.", + "type": "string" + } + } + }, + "MaintenanceConfigurationProperties": { + "description": "Properties for maintenance configuration", + "type": "object", + "properties": { + "namespace": { + "description": "Gets or sets namespace of the resource", + "type": "string" + }, + "extensionProperties": { + "description": "Gets or sets extensionProperties of the maintenanceConfiguration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "maintenanceScope": { + "description": "Gets or sets maintenanceScope of the configuration", + "enum": [ + "Host", + "Resource", + "OSImage", + "Extension", + "InGuestPatch", + "SQLDB", + "SQLManagedInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "MaintenanceScope", + "modelAsString": true, + "values": [ + { + "value": "Host", + "description": "This maintenance scope controls installation of azure platform updates i.e. services on physical nodes hosting customer VMs." + }, + { + "value": "Resource", + "description": "This maintenance scope controls the default update maintenance of the Azure Resource" + }, + { + "value": "OSImage", + "description": "This maintenance scope controls os image installation on VM/VMSS" + }, + { + "value": "Extension", + "description": "This maintenance scope controls extension installation on VM/VMSS" + }, + { + "value": "InGuestPatch", + "description": "This maintenance scope controls installation of windows and linux packages on VM/VMSS" + }, + { + "value": "SQLDB", + "description": "This maintenance scope controls installation of SQL server platform updates." + }, + { + "value": "SQLManagedInstance", + "description": "This maintenance scope controls installation of SQL managed instance platform update." + } + ] + } + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Definition of a MaintenanceWindow", + "x-ms-client-flatten": true + }, + "visibility": { + "description": "Gets or sets the visibility of the configuration. The default value is 'Custom'", + "enum": [ + "Custom", + "Public" + ], + "type": "string", + "x-ms-enum": { + "name": "Visibility", + "modelAsString": true, + "values": [ + { + "value": "Custom", + "description": "Only visible to users with permissions." + }, + { + "value": "Public", + "description": "Visible to all users." + } + ] + } + }, + "installPatches": { + "$ref": "#/definitions/InputPatchConfiguration", + "description": "The input parameters to be passed to the patch run operation." + } + } + }, + "InputPatchConfiguration": { + "type": "object", + "properties": { + "rebootSetting": { + "type": "string", + "enum": [ + "IfRequired", + "Never", + "Always" + ], + "x-ms-enum": { + "name": "RebootOptions", + "modelAsString": true + }, + "default": "IfRequired", + "description": "Possible reboot preference as defined by the user based on which it would be decided to reboot the machine or not after the patch operation is completed." + }, + "windowsParameters": { + "$ref": "#/definitions/InputWindowsParameters", + "description": "Input parameters specific to patching a Windows machine. For Linux machines, do not pass this property." + }, + "linuxParameters": { + "$ref": "#/definitions/InputLinuxParameters", + "description": "Input parameters specific to patching Linux machine. For Windows machines, do not pass this property." + } + }, + "description": "Input configuration for a patch run" + }, + "InputWindowsParameters": { + "type": "object", + "properties": { + "kbNumbersToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Windows KBID to be excluded for patching." + }, + "kbNumbersToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Windows KBID to be included for patching." + }, + "classificationsToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Classification category of patches to be patched" + }, + "excludeKbsRequiringReboot": { + "type": "boolean", + "description": "Exclude patches which need reboot" + } + }, + "description": "Input properties for patching a Windows machine." + }, + "InputLinuxParameters": { + "type": "object", + "properties": { + "packageNameMasksToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Package names to be excluded for patching." + }, + "packageNameMasksToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Package names to be included for patching." + }, + "classificationsToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Classification category of patches to be patched" + } + }, + "description": "Input properties for patching a Linux machine." + }, + "MaintenanceConfiguration": { + "description": "Maintenance configuration record type", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Gets or sets location of the resource", + "type": "string" + }, + "tags": { + "description": "Gets or sets tags of the resource", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "description": "Gets or sets properties of the resource", + "x-ms-client-flatten": true + } + } + }, + "MaintenanceError": { + "description": "An error response received from the Azure Maintenance service.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetails", + "description": "Details of the error" + } + } + }, + "ErrorDetails": { + "description": "An error response details received from the Azure Maintenance service.", + "type": "object", + "properties": { + "code": { + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.", + "type": "string" + }, + "message": { + "description": "Human-readable representation of the error.", + "type": "string" + } + } + }, + "ListMaintenanceConfigurationsResult": { + "description": "Response for MaintenanceConfigurations list", + "type": "object", + "properties": { + "value": { + "description": "The list of maintenance Configurations", + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + } + } + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Operation": { + "description": "Represents an operation returned by the GetOperations request", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationInfo", + "description": "Display name of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + }, + "ListUpdatesResult": { + "description": "Response for Updates list", + "type": "object", + "properties": { + "value": { + "description": "The pending updates", + "type": "array", + "items": { + "$ref": "#/definitions/Update" + }, + "x-ms-identifiers": [] + } + } + }, + "Update": { + "description": "Maintenance update on a resource", + "type": "object", + "properties": { + "maintenanceScope": { + "description": "The impact area", + "enum": [ + "Host", + "Resource", + "OSImage", + "Extension", + "InGuestPatch", + "SQLDB", + "SQLManagedInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "MaintenanceScope", + "modelAsString": true, + "values": [ + { + "value": "Host", + "description": "This maintenance scope controls installation of azure platform updates i.e. services on physical nodes hosting customer VMs." + }, + { + "value": "Resource", + "description": "This maintenance scope controls the default update maintenance of the Azure Resource" + }, + { + "value": "OSImage", + "description": "This maintenance scope controls os image installation on VM/VMSS" + }, + { + "value": "Extension", + "description": "This maintenance scope controls extension installation on VM/VMSS" + }, + { + "value": "InGuestPatch", + "description": "This maintenance scope controls installation of windows and linux packages on VM/VMSS" + }, + { + "value": "SQLDB", + "description": "This maintenance scope controls installation of SQL server platform updates." + }, + { + "value": "SQLManagedInstance", + "description": "This maintenance scope controls installation of SQL managed instance platform update." + } + ] + } + }, + "impactType": { + "description": "The impact type", + "enum": [ + "None", + "Freeze", + "Restart", + "Redeploy" + ], + "type": "string", + "x-ms-enum": { + "name": "ImpactType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Pending updates has no impact on resource." + }, + { + "value": "Freeze", + "description": "Pending updates can freeze network or disk io operation on resource." + }, + { + "value": "Restart", + "description": "Pending updates can cause resource to restart." + }, + { + "value": "Redeploy", + "description": "Pending updates can redeploy resource." + } + ] + } + }, + "status": { + "description": "The status", + "enum": [ + "Pending", + "InProgress", + "Completed", + "RetryNow", + "RetryLater" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true, + "values": [ + { + "value": "Pending", + "description": "There are pending updates to be installed." + }, + { + "value": "InProgress", + "description": "Updates installation are in progress." + }, + { + "value": "Completed", + "description": "All updates are successfully applied." + }, + { + "value": "RetryNow", + "description": "Updates installation failed but are ready to retry again." + }, + { + "value": "RetryLater", + "description": "Updates installation failed and should be retried later." + } + ] + } + }, + "impactDurationInSec": { + "format": "int32", + "description": "Duration of impact in seconds", + "type": "integer" + }, + "notBefore": { + "format": "date-time", + "description": "Time when Azure will start force updates if not self-updated by customer before this time", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/UpdateProperties", + "description": "Properties of the apply update", + "x-ms-client-flatten": true + } + } + }, + "UpdateProperties": { + "description": "Properties for update", + "type": "object", + "properties": { + "resourceId": { + "description": "The resourceId", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of the API to be used with the client request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdatesResourceGroup_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdatesResourceGroup_List.json new file mode 100644 index 000000000000..cd68c3164dd9 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdatesResourceGroup_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Maintenance", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Completed" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdate.json new file mode 100644 index 000000000000..033b3b9c6c46 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Pending" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Pending" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdateParent.json new file mode 100644 index 000000000000..a001eb591eda --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_CreateOrUpdateParent.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1", + "status": "Pending" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1", + "status": "Pending" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_Get.json new file mode 100644 index 000000000000..d09ac9b2d231 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Completed" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_GetParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_GetParent.json new file mode 100644 index 000000000000..b1b99728c9c5 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_GetParent.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1", + "status": "Completed" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_List.json new file mode 100644 index 000000000000..063401144973 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ApplyUpdates_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "providerName": "Microsoft.Maintenance", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Completed" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_CreateOrUpdate.json new file mode 100644 index 000000000000..2734f84cedf5 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_CreateOrUpdate.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg", + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "osTypes": [ + "Windows", + "Linux" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg", + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Delete.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Delete.json new file mode 100644 index 000000000000..269edc997f02 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + }, + "204": {} + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Get.json new file mode 100644 index 000000000000..b1e6d6dd32f3 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "All" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_UpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_UpdateForResource.json new file mode 100644 index 000000000000..cb3f11dabc9c --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForResourceGroup_UpdateForResource.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..eb829877dc09 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_CreateOrUpdate.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "resourceGroups": [ + "RG1", + "RG2" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "resourceGroups": [ + "RG1", + "RG2" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "resourceGroups": [ + "RG1", + "RG2" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Delete.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Delete.json new file mode 100644 index 000000000000..fa8610c3c11c --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + }, + "204": {} + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Get.json new file mode 100644 index 000000000000..e967df973f8e --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "All" + }, + "locations": [ + "Japan East", + "UK South" + ] + }, + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_UpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_UpdateForResource.json new file mode 100644 index 000000000000..466240c709cc --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsForSubscriptions_UpdateForResource.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "resourceGroups": [ + "RG1", + "RG2" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "filter": { + "resourceTypes": [ + "Microsoft.HybridCompute/machines", + "Microsoft.Compute/virtualMachines" + ], + "resourceGroups": [ + "RG1", + "RG2" + ], + "tagSettings": { + "tags": { + "tag1": [ + "tag1Value1", + "tag1Value2", + "tag1Value3" + ], + "tag2": [ + "tag2Value1", + "tag2Value2", + "tag2Value3" + ] + }, + "filterOperator": "Any" + }, + "locations": [ + "Japan East", + "UK South" + ] + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsResultWithinSubscription_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsResultWithinSubscription_List.json new file mode 100644 index 000000000000..4d8553b74212 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignmentsResultWithinSubscription_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "providerName": "Microsoft.Maintenance", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdate.json new file mode 100644 index 000000000000..e1a48bb1df9a --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdateParent.json new file mode 100644 index 000000000000..90379b5f9355 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_CreateOrUpdateParent.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "configurationAssignmentName": "workervmPolicy", + "api-version": "2023-04-01", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Delete.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Delete.json new file mode 100644 index 000000000000..a85db48b8f6b --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Delete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + }, + "204": {} + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_DeleteParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_DeleteParent.json new file mode 100644 index 000000000000..b908aac66f4b --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_DeleteParent.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + }, + "204": {} + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Get.json new file mode 100644 index 000000000000..901fd7a6c61c --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_GetParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_GetParent.json new file mode 100644 index 000000000000..f86089fa0766 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_GetParent.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "configurationAssignmentName": "workervmPolicy", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_List.json new file mode 100644 index 000000000000..6f04597d4763 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_ListParent.json new file mode 100644 index 000000000000..7a21a5852970 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/ConfigurationAssignments_ListParent.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdtestvm1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdtestvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdtestvm1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurationsResourceGroup_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurationsResourceGroup_List.json new file mode 100644 index 000000000000..7f19b3dff9ab --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurationsResourceGroup_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Week Saturday,Sunday" + } + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json new file mode 100644 index 000000000000..101c9375b0cf --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2023-04-01", + "configuration": { + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Day" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Day" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Day" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_DeleteForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_DeleteForResource.json new file mode 100644 index 000000000000..b542151adb94 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_DeleteForResource.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "example1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance" + } + } + }, + "204": {} + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource.json new file mode 100644 index 000000000000..469d307bcf79 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "5Days" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchLinux.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchLinux.json new file mode 100644 index 000000000000..cb34ac5c9869 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchLinux.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "InGuestPatch", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "5Days" + }, + "installPatches": { + "linuxParameters": { + "classificationsToInclude": [ + "Critical" + ], + "packageNameMasksToExclude": [ + "apt", + "http" + ], + "packageNameMasksToInclude": [ + "binutils", + "bin" + ] + }, + "rebootSetting": "Always" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchWindows.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchWindows.json new file mode 100644 index 000000000000..381f3a0f9eef --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_GetForResource_GuestOSPatchWindows.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "InGuestPatch", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "5Days" + }, + "installPatches": { + "windowsParameters": { + "classificationsToInclude": [ + "Security" + ], + "kbNumbersToInclude": [ + "KB123456" + ], + "kbNumbersToExclude": [ + "KB234567" + ], + "excludeKbsRequiringReboot": false + }, + "rebootSetting": "Always" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_List.json new file mode 100644 index 000000000000..d05c74071df8 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Week Saturday,Sunday" + } + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_UpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_UpdateForResource.json new file mode 100644 index 000000000000..e9055dfafa0d --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/MaintenanceConfigurations_UpdateForResource.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2023-04-01", + "configuration": { + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Month Third Sunday" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Month Third Sunday" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Operations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Operations_List.json new file mode 100644 index 000000000000..77c3ae6d7e29 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Operations_List.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_GetForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_GetForResource.json new file mode 100644 index 000000000000..03b7d9387f4a --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_GetForResource.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceName": "configuration1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "SQLDB", + "visibility": "Public", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "2Weeks" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_List.json new file mode 100644 index 000000000000..9582630da1ca --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/PublicMaintenanceConfigurations_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "SQLDB", + "visibility": "Public", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00:00", + "expirationDateTime": "9999-12-31 00:00:00", + "duration": "05:00:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Week Saturday,Sunday" + } + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_List.json new file mode 100644 index 000000000000..47d012abf1f6 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "maintenanceScope": "Resource", + "status": "Pending", + "impactType": "Reboot", + "impactDurationInSec": 1440, + "notBefore": "2018-10-09T06:17:44.235Z", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_ListParent.json new file mode 100644 index 000000000000..803de75968f0 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/stable/2023-04-01/examples/Updates_ListParent.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "1", + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "maintenanceScope": "Resource", + "status": "Pending", + "impactType": "Reboot", + "impactDurationInSec": 1440, + "notBefore": "2018-10-09T06:17:44.235Z", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/readme.cli.md b/specification/maintenance/resource-manager/readme.cli.md index 0327c7451143..784dfcef420a 100644 --- a/specification/maintenance/resource-manager/readme.cli.md +++ b/specification/maintenance/resource-manager/readme.cli.md @@ -6,4 +6,61 @@ These settings apply only when `--cli` is specified on the command line. cli: namespace: azure.mgmt.maintenance flatten-all: true + cli-directive: + - select: 'operationGroup' + where: + operationGroup: 'ApplyUpdateForResourceGroup' + hidden: true + - where: + operationGroup: 'MaintenanceConfigurationsForResourceGroup' + hidden: true + - where: + operationGroup: 'ConfigurationAssignmentsWithinSubscription' + hidden: true + - select: 'parameter' + where: + parameter: duration + alias: + - maintenance-window-duration + - duration + - where: + parameter: 'expirationDateTime' + alias: + - maintenance-window-expiration-date-time + - expiration-date-time + - where: + parameter: 'recurEvery' + alias: + - maintenance-window-recur-every + - recur-every + - where: + param: startDateTime + alias: + - maintenance-window-start-date-time + - start-date-time + - where: + param: timeZone + alias: + - maintenance-window-time-zone + - time-zone + - where: + param: linuxParameters + alias: + - install-patches-linux-parameters + - linux-parameters + - where: + param: windowsParameters + alias: + - install-patches-windows-parameters + - windows-parameters + - where: + param: postTasks + alias: + - install-patches-post-tasks + - post-tasks + - where: + param: preTasks + alias: + - install-patches-pre-tasks + - pre-tasks ``` diff --git a/specification/maintenance/resource-manager/readme.md b/specification/maintenance/resource-manager/readme.md index 44bc36144a1f..55543b41196c 100644 --- a/specification/maintenance/resource-manager/readme.md +++ b/specification/maintenance/resource-manager/readme.md @@ -26,9 +26,17 @@ These are the global settings for the Azure Maintenance API. ``` yaml openapi-type: arm -tag: package-preview-2022-11 +tag: package-2023-04 ``` +### Tag: package-2023-04 + +These settings apply only when `--tag=package-2023-04` is specified on the command line. + +```yaml $(tag) == 'package-2023-04' +input-file: + - Microsoft.Maintenance/stable/2023-04-01/Maintenance.json +``` ### Tag: package-preview-2022-11 @@ -38,6 +46,7 @@ These settings apply only when `--tag=package-preview-2022-11` is specified on t input-file: - Microsoft.Maintenance/preview/2022-11-01-preview/Maintenance.json ``` + ### Tag: package-preview-2022-07 These settings apply only when `--tag=package-preview-2022-07` is specified on the command line. @@ -146,3 +155,40 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) + +### Suppression + +``` yaml +directive: + - suppress: PathForPutOperation + from: maintenance.json + reason: False postive. ConfigurationAssignments is proxy resource. + - suppress: DeleteResponseBodyEmpty + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: PathContainsResourceType + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: PathContainsResourceType + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: TrackedResourcePatchOperation + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: SubscriptionsAndResourceGroupCasing + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: UnSupportedPatchProperties + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: PathResourceProviderNamePascalCase + from: maintenance.json + reason: Suppression warning to avoid breaking changes + - suppress: RequestSchemaForTrackedResourcesMustHaveTags + from: maintenance.json + reason: False positive. ConfigurationAssignments is proxy resource at subscription/resourceGroup level. + - suppress: ResourceNameRestriction + from: maintenance.json + reason: Maintenance RP accept any string, no special restriction required. +``` + diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/AccessControlLists.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/AccessControlLists.json index 80d939686202..4807cbd2bbdd 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/AccessControlLists.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/AccessControlLists.json @@ -645,6 +645,12 @@ "format": "uri", "minLength": 1 }, + "defaultAction": { + "type": "string", + "description": "Default action that needs to be applied when no condition is matched. Example: Permit | Deny.", + "default": "Permit", + "$ref": "./common.json#/definitions/CommunityActionTypes" + }, "matchConfigurations": { "type": "array", "description": "List of match configurations.", @@ -717,7 +723,7 @@ "description": "List of actions that need to be performed for the matched conditions.", "minItems": 1, "items": { - "description": "Action that need to performed.", + "description": "Action that need to be performed.", "$ref": "#/definitions/AccessControlListAction" } } @@ -730,7 +736,7 @@ "etherTypes": { "type": "array", "minItems": 1, - "description": "List of ether type values that needs to be matched.", + "description": "List of ether type values that need to be matched.", "items": { "type": "string", "minLength": 1, @@ -740,7 +746,7 @@ "fragments": { "type": "array", "minItems": 1, - "description": "List of IP fragment packets that needs to be matched.", + "description": "List of IP fragment packets that need to be matched.", "items": { "type": "string", "minLength": 1, @@ -750,7 +756,7 @@ "ipLengths": { "type": "array", "minItems": 1, - "description": "List of IP Lengths that needs to be matched.", + "description": "List of IP Lengths that need to be matched.", "items": { "type": "string", "minLength": 1, @@ -760,7 +766,7 @@ "ttlValues": { "type": "array", "minItems": 1, - "description": "List of TTL [Time To Live] values that needs to be matched.", + "description": "List of TTL [Time To Live] values that need to be matched.", "items": { "type": "string", "minLength": 1, @@ -770,7 +776,7 @@ "dscpMarkings": { "type": "array", "minItems": 1, - "description": "List of DSCP Markings that needs to be matched.", + "description": "List of DSCP Markings that need to be matched.", "items": { "type": "string", "minLength": 1, @@ -794,7 +800,7 @@ "properties": { "flags": { "type": "array", - "description": "List of protocol flags that needs to be matched.", + "description": "List of protocol flags that need to be matched.", "items": { "type": "string", "description": "Flag of the port." diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/NetworkTapRules.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/NetworkTapRules.json index 3de80e6328c6..1bf9146c50d1 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/NetworkTapRules.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/NetworkTapRules.json @@ -736,7 +736,7 @@ "description": "List of actions that need to be performed for the matched conditions.", "minItems": 1, "items": { - "description": "Action that need to performed.", + "description": "Action that needs to performed.", "$ref": "#/definitions/NetworkTapRuleAction" } } @@ -748,7 +748,7 @@ "properties": { "encapsulationType": { "type": "string", - "description": "Encapsulation Type.", + "description": "Encapsulation Type that needs to be matched.", "default": "None", "minLength": 1, "enum": [ diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/RoutePolicies.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/RoutePolicies.json index 86746c42cab1..42454a7ed5ad 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/RoutePolicies.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/RoutePolicies.json @@ -619,6 +619,12 @@ "type": "object", "description": "Route Policy patchable properties.", "properties": { + "defaultAction": { + "type": "string", + "description": "Default action that needs to be applied when no condition is matched. Example: Permit | Deny.", + "default": "Deny", + "$ref": "./common.json#/definitions/CommunityActionTypes" + }, "statements": { "type": "array", "description": "Route Policy statements.", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/common.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/common.json index b0264cd9cf76..3318673a34ff 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/common.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/common.json @@ -497,7 +497,7 @@ }, "portGroupNames": { "type": "array", - "description": "List of the port Group Names that to be matched.", + "description": "List of the port Group Names that need to be matched.", "minItems": 1, "items": { "type": "string", @@ -512,11 +512,11 @@ }, "VlanMatchCondition": { "type": "object", - "description": "The vlan match conditions that needs to be matched.", + "description": "The vlan match conditions that need to be matched.", "properties": { "vlans": { "type": "array", - "description": "List of vlans that needs to be matched.", + "description": "List of vlans that need to be matched.", "minItems": 1, "items": { "type": "string", @@ -527,7 +527,7 @@ }, "innerVlans": { "type": "array", - "description": "List of inner vlans that needs to be matched.", + "description": "List of inner vlans that need to be matched.", "minItems": 1, "items": { "type": "string", @@ -538,7 +538,7 @@ }, "vlanGroupNames": { "type": "array", - "description": "List of vlan group names that to be matched.", + "description": "List of vlan group names that need to be matched.", "minItems": 1, "items": { "type": "string", @@ -554,7 +554,7 @@ "properties": { "type": { "type": "string", - "description": "IP Address type.", + "description": "IP Address type that needs to be matched.", "minLength": 1, "enum": [ "SourceIP", @@ -567,7 +567,7 @@ }, "prefixType": { "type": "string", - "description": "IP Prefix Type.", + "description": "IP Prefix Type that needs to be matched.", "minLength": 1, "enum": [ "Prefix", @@ -580,7 +580,7 @@ }, "ipPrefixValues": { "type": "array", - "description": "The list of IP Prefixes.", + "description": "The list of IP Prefixes that need to be matched.", "minItems": 1, "items": { "type": "string", @@ -624,7 +624,7 @@ }, "portGroups": { "type": "array", - "description": "List of the port group.", + "description": "List of the port groups.", "minItems": 1, "items": { "description": "Port Group", @@ -691,7 +691,7 @@ }, "ports": { "type": "array", - "description": "List of the ports that needs to be matched.", + "description": "List of the ports that need to be matched.", "minItems": 1, "items": { "type": "string", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Create_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Create_MaximumSet_Gen.json index d262056f49b3..4653ad88b357 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Create_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Create_MaximumSet_Gen.json @@ -9,6 +9,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", @@ -125,6 +126,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", @@ -254,6 +256,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Get_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Get_MaximumSet_Gen.json index 168f1bc76508..5f4b7f16d588 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Get_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Get_MaximumSet_Gen.json @@ -16,6 +16,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListByResourceGroup_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListByResourceGroup_MaximumSet_Gen.json index a58e2d59db49..4b4e478c7603 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListByResourceGroup_MaximumSet_Gen.json @@ -17,6 +17,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListBySubscription_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListBySubscription_MaximumSet_Gen.json index a570741a1d07..8227a9ce6059 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListBySubscription_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_ListBySubscription_MaximumSet_Gen.json @@ -16,6 +16,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Update_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Update_MaximumSet_Gen.json index 7e9fae65a3e2..87232359f31e 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Update_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/AccessControlLists_Update_MaximumSet_Gen.json @@ -8,6 +8,7 @@ "properties": { "configurationType": "File", "aclsUrl": "https://microsoft.com/a", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", @@ -124,6 +125,7 @@ "annotation": "annotation", "configurationType": "File", "aclsUrl": "https://ACL-Storage-URL", + "defaultAction": "Permit", "matchConfigurations": [ { "matchConfigurationName": "example-match", diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Create_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Create_MaximumSet_Gen.json index d3ecfcfe8a34..b35d2dfae5e4 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Create_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Create_MaximumSet_Gen.json @@ -9,6 +9,7 @@ "networkFabricId": "/subscriptions/1234ABCD-0A1B-1234-5678-123456ABCDEF/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabric", "addressFamilyType": "IPv4", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, @@ -80,6 +81,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, @@ -164,6 +166,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Get_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Get_MaximumSet_Gen.json index 3f3c4c7a5a14..18c476280aac 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Get_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Get_MaximumSet_Gen.json @@ -15,6 +15,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListByResourceGroup_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListByResourceGroup_MaximumSet_Gen.json index a5b3fdbee2b7..0ee14afe7584 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListByResourceGroup_MaximumSet_Gen.json @@ -16,6 +16,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListBySubscription_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListBySubscription_MaximumSet_Gen.json index c4053d06d8ba..8b2e40d28c28 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListBySubscription_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_ListBySubscription_MaximumSet_Gen.json @@ -15,6 +15,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, diff --git a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Update_MaximumSet_Gen.json b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Update_MaximumSet_Gen.json index 11dfb70f0af5..e3557859ed42 100644 --- a/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Update_MaximumSet_Gen.json +++ b/specification/managednetworkfabric/resource-manager/Microsoft.ManagedNetworkFabric/stable/2023-06-15/examples/RoutePolicies_Update_MaximumSet_Gen.json @@ -6,6 +6,7 @@ "routePolicyName": "example-routePolicy", "body": { "properties": { + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, @@ -76,6 +77,7 @@ "provisioningState": "Accepted", "administrativeState": "Enabled", "annotation": "annotation", + "defaultAction": "Deny", "statements": [ { "sequenceNumber": 7, diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/AddManagementGroupSubscription.json new file mode 100644 index 000000000000..a63d3372d0b0 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/AddManagementGroupSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/CheckManagementGroupNameAvailability.json new file mode 100644 index 000000000000..feae5214b37b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/CheckManagementGroupNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "checkNameAvailabilityRequest": { + "name": "nameTocheck", + "type": "Microsoft.Management/managementGroups" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Error message" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteHierarchySettings.json new file mode 100644 index 000000000000..b08651d8be5b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteHierarchySettings.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "root" + }, + "responses": { + "200": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteManagementGroup.json new file mode 100644 index 000000000000..49bcd57bb1ff --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/DeleteManagementGroup.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "GroupToDelete", + "Cache-Control": "no-cache" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Management/managementGroups/GroupToDelete?api-version=2023-04-01" + }, + "body": { + "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete", + "type": "Microsoft.Management/managementGroups", + "name": "GroupToDelete", + "status": "NotStarted" + } + }, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetAllSubscriptionsFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetAllSubscriptionsFromManagementGroup.json new file mode 100644 index 000000000000..aebc08c7bc1b --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetAllSubscriptionsFromManagementGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "Group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": "/providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "S5", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetDescendants.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetDescendants.json new file mode 100644 index 000000000000..1ac22f342b18 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetDescendants.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "displayName": "Group 1", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + }, + { + "id": "/subscriptions/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups/subscriptions", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "displayName": "Subscription 4", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetEntities.json new file mode 100644 index 000000000000..bcc43c7183b0 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetEntities.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "view", + "inheritedPermissions": "view", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 1 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group1Tenant2Parent" + ], + "numberOfDescendants": 3, + "numberOfChildren": 2, + "numberOfChildGroups": 1 + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "delete", + "inheritedPermissions": "delete", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 4 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group4 Tenant2Parent" + ], + "numberOfDescendants": 0, + "numberOfChildren": 0, + "numberOfChildGroups": 0 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetHierarchySettings.json new file mode 100644 index 000000000000..bfce79467112 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetHierarchySettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroup.json new file mode 100644 index 000000000000..90bb627fe186 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithAncestors.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithAncestors.json new file mode 100644 index 000000000000..68101b795296 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithAncestors.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0001-0000-0000-00000000000", + "$expand": "ancestors", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "managementGroupAncestorsChain": [ + { + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + { + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "Grandparent display name" + } + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpand.json new file mode 100644 index 000000000000..6434174c71c5 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpand.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0002-0000-0000-000000000000", + "displayName": "Group 2 Tenant 2" + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0003-0000-0000-000000000000", + "displayName": "Group 3 Tenant 2" + }, + { + "id": "/subscriptions/10000000-F004-0000-0000-000000000000", + "type": "/subscriptions", + "name": "10000000-F004-0000-0000-000000000000", + "displayName": "Subscription 4 Tenant 1" + }, + { + "id": "/subscriptions/20000000-F005-0000-0000-000000000000", + "type": "/subscriptions", + "name": "20000000-F005-0000-0000-000000000000", + "displayName": "Subscription 5 Tenant 2" + }, + { + "id": "/subscriptions/30000000-F003-0000-0000-000000000000", + "type": "/subscriptions", + "name": "30000000-F003-0000-0000-000000000000", + "displayName": "Subscription 3 Tenant 3" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpandAndRecurse.json new file mode 100644 index 000000000000..9b024ff4520f --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithExpandAndRecurse.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "$recurse": true, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "type": "Microsoft.Management/managementGroups", + "name": "RootGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "RootGroup", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:26:49.0022093Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Child", + "type": "Microsoft.Management/managementGroups", + "name": "Child", + "displayName": "Child", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Leaf", + "type": "Microsoft.Management/managementGroups", + "name": "Leaf", + "displayName": "Leaf", + "children": [ + { + "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "/subscriptions", + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "displayName": "Pay-As-You-Go" + } + ] + } + ] + }, + { + "id": "/providers/Microsoft.Management/managementGroups/AnotherChild", + "type": "Microsoft.Management/managementGroups", + "name": "AnotherChild", + "displayName": "Leaf" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithPath.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithPath.json new file mode 100644 index 000000000000..36374d7be9a6 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetManagementGroupWithPath.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "path", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + }, + "path": [ + { + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "Grandparent display name" + }, + { + "name": "20000000-0000-0000-0000-000000000001", + "displayName": "Parent display name" + } + ] + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetSubscriptionFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetSubscriptionFromManagementGroup.json new file mode 100644 index 000000000000..a63d3372d0b0 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/GetSubscriptionFromManagementGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListHierarchySettings.json new file mode 100644 index 000000000000..06d37b87fc3e --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListHierarchySettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + ], + "@nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListManagementGroups.json new file mode 100644 index 000000000000..a5053d5ade21 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListManagementGroups.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2" + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2" + } + } + ], + "@nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListOperations.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListOperations.json new file mode 100644 index 000000000000..b9f9d3ce26cc --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/ListOperations.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "display": { + "provider": "aaaaaaaaaaaaaaaaaaaaa", + "resource": "aaaaaaaaaaaaa", + "operation": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "description": "aaaaaaaaaaaaaaaaaaaaaa" + } + } + ], + "nextLink": "aaaaaaaaaaaaaaaaaaa" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchHierarchySettings.json new file mode 100644 index 000000000000..36c43ef1eef2 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchManagementGroup.json new file mode 100644 index 000000000000..b0eb6600a182 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PatchManagementGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "ChildGroup", + "patchGroupRequest": { + "displayName": "AlternateDisplayName", + "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "AlternateDisplayName", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:46:59.0545645Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup", + "name": "AlternateRootGroup", + "displayName": "AlternateRootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutHierarchySettings.json new file mode 100644 index 000000000000..36c43ef1eef2 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutManagementGroup.json new file mode 100644 index 000000000000..715dec6553e4 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/PutManagementGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "ChildGroup", + "createManagementGroupRequest": { + "properties": { + "displayName": "ChildGroup", + "details": { + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup" + } + } + } + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "ChildGroup", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + }, + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "status": "NotStarted" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/RemoveManagementGroupSubscription.json new file mode 100644 index 000000000000..920bcf508614 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/RemoveManagementGroupSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/StartTenantBackfillRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/StartTenantBackfillRequest.json new file mode 100644 index 000000000000..d9cf7b97d4a7 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/StartTenantBackfillRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "startTenantBackfillRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/TenantBackfillStatusRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/TenantBackfillStatusRequest.json new file mode 100644 index 000000000000..a8d1c036d7f7 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/examples/TenantBackfillStatusRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "tenantBackfillStatusRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/management.json new file mode 100644 index 000000000000..f6e5e8a9dd9d --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2023-04-01/management.json @@ -0,0 +1,2179 @@ +{ + "swagger": "2.0", + "host": "management.azure.com", + "info": { + "version": "2023-04-01", + "title": "Management Groups API", + "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n" + }, + "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" + } + } + }, + "tags": [ + { + "name": "ManagementGroups", + "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n" + }, + { + "name": "Operations", + "description": "Management operations supported by the Microsoft.Management resource provider.\n" + }, + { + "name": "Entities", + "description": "A list of entities that belong to the Management Groups.\n" + } + ], + "paths": { + "/providers/Microsoft.Management/managementGroups": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_List", + "description": "List management groups for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroupListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@nextLink" + }, + "x-ms-examples": { + "ListManagementGroups": { + "$ref": "./examples/ListManagementGroups.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Get", + "description": "Get the details of the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + }, + { + "$ref": "#/parameters/RecurseParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetManagementGroup": { + "$ref": "./examples/GetManagementGroup.json" + }, + "GetManagementGroupWithPath": { + "$ref": "./examples/GetManagementGroupWithPath.json" + }, + "GetManagementGroupWithAncestors": { + "$ref": "./examples/GetManagementGroupWithAncestors.json" + }, + "GetManagementGroupWithExpand": { + "$ref": "./examples/GetManagementGroupWithExpand.json" + }, + "GetManagementGroupsWithExpandAndRecurse": { + "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_CreateOrUpdate", + "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/CreateManagementGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PutManagementGroup": { + "$ref": "./examples/PutManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Update", + "description": "Update a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/PatchGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchManagementGroup": { + "$ref": "./examples/PatchManagementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Delete", + "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteManagementGroup": { + "$ref": "./examples/DeleteManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/descendants": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_GetDescendants", + "description": "List all entities that descend from a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DescendantListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDescendants": { + "$ref": "./examples/GetDescendants.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": { + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Create", + "description": "Associates existing subscription with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AddSubscriptionToManagementGroup": { + "$ref": "./examples/AddManagementGroupSubscription.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Delete", + "description": "De-associates subscription from the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteSubscriptionFromManagementGroup": { + "$ref": "./examples/RemoveManagementGroupSubscription.json" + } + } + }, + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscription", + "description": "Retrieves details about given subscription which is associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetSubscriptionFromManagementGroup": { + "$ref": "./examples/GetSubscriptionFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscriptionsUnderManagementGroup", + "description": "Retrieves details about all subscriptions which are associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListSubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAllSubscriptionsFromManagementGroup": { + "$ref": "./examples/GetAllSubscriptionsFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_List", + "description": "Gets all the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettingsList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListGroupSettings": { + "$ref": "./examples/ListHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings/default": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Get", + "description": "Gets the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/GetHierarchySettings.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_CreateOrUpdate", + "description": "Creates or updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PutHierarchySettings.json" + } + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Update", + "description": "Updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PatchHierarchySettings.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Delete", + "description": "Deletes the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/DeleteHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Management REST API operations.", + "parameters": [ + { + "$ref": "#/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": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Operations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/providers/Microsoft.Management/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability", + "description": "Checks if the specified management group name is valid and unique", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CheckNameAvailabilityParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckManagementGroupNameAvailability": { + "$ref": "./examples/CheckManagementGroupNameAvailability.json" + } + } + } + }, + "/providers/Microsoft.Management/getEntities": { + "post": { + "tags": [ + "Entities" + ], + "operationId": "Entities_List", + "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/SkipParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/SelectParameter" + }, + { + "$ref": "#/parameters/SearchParameter" + }, + { + "$ref": "#/parameters/EntityFilterParameter" + }, + { + "$ref": "#/parameters/EntityViewParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetEntities": { + "$ref": "./examples/GetEntities.json" + } + } + } + }, + "/providers/Microsoft.Management/startTenantBackfill": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "StartTenantBackfill", + "description": "Starts backfilling subscriptions for the Tenant.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "StartTenantBackfill": { + "$ref": "./examples/StartTenantBackfillRequest.json" + } + } + } + }, + "/providers/Microsoft.Management/tenantBackfillStatus": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "TenantBackfillStatus", + "description": "Gets tenant backfill status", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TenantBackfillStatus": { + "$ref": "./examples/TenantBackfillStatusRequest.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "type": "string" + }, + "message": { + "description": "A human-readable representation of the error.", + "type": "string" + }, + "details": { + "description": "A human-readable representation of the error's details.", + "type": "string" + } + } + }, + "Operation": { + "description": "Operation supported by the Microsoft.Management resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "title": "Display", + "$ref": "#/definitions/OperationDisplayProperties" + } + } + }, + "OperationDisplayProperties": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "The name of the provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The operation that can be performed.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Operation description.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Describes the result of the request to list Microsoft.Management operations.", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Management resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Describes the result of the request to check management group name availability.", + "properties": { + "nameAvailable": { + "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false, + "values": [ + { + "value": "Invalid" + }, + { + "value": "AlreadyExists" + } + ] + }, + "readOnly": true + }, + "message": { + "description": "Required if nameAvailable == false. Localized. 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 is already in use, and direct them to select a different name.", + "type": "string", + "readOnly": true + } + } + }, + "TenantBackfillStatusResult": { + "description": "The tenant backfill status", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "description": "The status of the Tenant Backfill", + "type": "string", + "enum": [ + "NotStarted", + "NotStartedButGroupsExist", + "Started", + "Failed", + "Cancelled", + "Completed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false, + "values": [ + { + "value": "NotStarted" + }, + { + "value": "NotStartedButGroupsExist" + }, + { + "value": "Started" + }, + { + "value": "Failed" + }, + { + "value": "Cancelled" + }, + { + "value": "Completed" + } + ] + }, + "readOnly": true + } + } + }, + "ManagementGroupListResult": { + "description": "Describes the result of the request to list management groups.", + "properties": { + "value": { + "description": "The list of management groups.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupInfo" + } + }, + "@nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagementGroupInfo": { + "description": "The management group resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "ManagementGroupInfoProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + } + } + }, + "ListSubscriptionUnderManagementGroup": { + "description": "The details of all subscriptions under management group.", + "properties": { + "value": { + "description": "The list of subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUnderManagementGroup": { + "description": "The details of subscription under management group.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the subscription. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/subscriptions/0000000-0000-0000-0000-000000000001", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/subscriptions", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The stringified id of the subscription. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionUnderManagementGroupProperties" + } + } + }, + "SubscriptionUnderManagementGroupProperties": { + "description": "The generic properties of subscription under a management group.", + "type": "object", + "properties": { + "tenant": { + "type": "string", + "description": "The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the subscription." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + }, + "state": { + "type": "string", + "description": "The state of the subscription." + } + } + }, + "ManagementGroup": { + "description": "The management group details.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupProperties" + } + } + }, + "ManagementGroupProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "details": { + "title": "Details", + "$ref": "#/definitions/ManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupDetails": { + "description": "The details of a management group.", + "type": "object", + "properties": { + "version": { + "type": "number", + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/ParentGroupInfo" + }, + "path": { + "description": "The path from the root to the current group.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "managementGroupAncestors": { + "description": "The ancestors of the management group.", + "x-nullable": true, + "type": "array", + "items": { + "type": "string" + } + }, + "managementGroupAncestorsChain": { + "description": "The ancestors of the management group displayed in reversed order, from immediate parent to the root.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ManagementGroupChildInfo": { + "description": "The child information of a management group.", + "properties": { + "type": { + "title": "The type of child resource.", + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupPathElement": { + "description": "A path element of a management group ancestors.", + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the group." + } + } + }, + "ParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the parent management group." + } + } + }, + "ManagementGroupChildType": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups", + "/subscriptions" + ], + "x-ms-enum": { + "name": "ManagementGroupChildType", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Management/managementGroups" + }, + { + "value": "/subscriptions" + } + ] + }, + "description": "The type of child resource." + }, + "OperationResults": { + "description": "The results of an asynchronous operation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "AzureAsyncOperationResults": { + "description": "The results of Azure-AsyncOperation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The current status of the asynchronous operation performed . For example, Running, Succeeded, Failed", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "HierarchySettings": { + "description": "Settings defined at the Management Group scope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "HierarchySettingsProperties": { + "description": "The generic properties of hierarchy settings.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000" + }, + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "HierarchySettingsList": { + "description": "Lists all hierarchy settings.", + "properties": { + "value": { + "description": "The list of hierarchy settings.", + "type": "array", + "items": { + "$ref": "#/definitions/HierarchySettingsInfo" + } + }, + "@nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "HierarchySettingsInfo": { + "description": "The hierarchy settings resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "CreateOrUpdateSettingsRequest": { + "description": "Parameters for creating or updating Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + } + } + }, + "CreateOrUpdateSettingsProperties": { + "description": "The properties of the request to create or update Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "DescendantListResult": { + "description": "Describes the result of the request to view descendants.", + "properties": { + "value": { + "description": "The list of descendants.", + "type": "array", + "items": { + "$ref": "#/definitions/DescendantInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DescendantInfo": { + "description": "The descendant.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the descendant. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/DescendantInfoProperties" + } + } + }, + "DescendantInfoProperties": { + "description": "The generic properties of an descendant.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + } + } + }, + "DescendantParentGroupInfo": { + "description": "The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityListResult": { + "description": "Describes the result of the request to view entities.", + "properties": { + "value": { + "description": "The list of entities.", + "type": "array", + "items": { + "$ref": "#/definitions/EntityInfo" + } + }, + "count": { + "description": "Total count of records that match the filter", + "type": "integer", + "readOnly": true + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "EntityInfo": { + "description": "The entity.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/EntityInfoProperties" + } + } + }, + "EntityInfoProperties": { + "description": "The generic properties of an entity.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000", + "x-nullable": true + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/EntityParentGroupInfo", + "x-nullable": true + }, + "permissions": { + "title": "Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "inheritedPermissions": { + "title": "Inherited Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "numberOfDescendants": { + "title": "Number of Descendants", + "type": "integer", + "x-nullable": true + }, + "numberOfChildren": { + "title": "Number of Children", + "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "numberOfChildGroups": { + "title": "Number of Child Groups", + "description": "Number of children is the number of Groups that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "parentDisplayNameChain": { + "type": "array", + "description": "The parent display name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "parentNameChain": { + "type": "array", + "description": "The parent name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + } + } + }, + "EntityParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityHierarchyItem": { + "description": "The management group details for the hierarchy view.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EntityHierarchyItemProperties" + } + } + }, + "EntityHierarchyItemProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "permissions": { + "title": "Permissions", + "$ref": "#/definitions/Permissions" + }, + "children": { + "type": "array", + "description": "The list of children.", + "x-nullable": true, + "items": { + "$ref": "#/definitions/EntityHierarchyItem" + } + } + } + }, + "PatchManagementGroupRequest": { + "description": "Management group patch parameters.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parentGroupId": { + "type": "string", + "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "x-nullable": true + } + } + }, + "CreateManagementGroupRequest": { + "description": "Management group creation parameters.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateManagementGroupProperties" + } + } + }, + "CreateManagementGroupProperties": { + "description": "The generic properties of a management group used during creation.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.", + "x-nullable": true + }, + "details": { + "title": "Details", + "$ref": "#/definitions/CreateManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateManagementGroupDetails": { + "description": "The details of a management group used during creation.", + "type": "object", + "properties": { + "version": { + "type": "number", + "readOnly": true, + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "readOnly": true, + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/CreateParentGroupInfo" + } + } + }, + "CreateManagementGroupChildInfo": { + "description": "The child information of a management group used during creation.", + "properties": { + "type": { + "title": "The type of child resource.", + "readOnly": true, + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateParentGroupInfo": { + "description": "(Optional) The ID of the parent management group used during creation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the parent management group." + } + } + }, + "Permissions": { + "type": "string", + "enum": [ + "noaccess", + "view", + "edit", + "delete" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": false, + "values": [ + { + "value": "noaccess" + }, + { + "value": "view" + }, + { + "value": "edit" + }, + { + "value": "delete" + } + ] + }, + "description": "The users specific permissions to this item." + }, + "CheckNameAvailabilityRequest": { + "description": "Management group name availability check parameters.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Management/managementGroups" + } + ] + }, + "description": "fully qualified resource type which includes provider namespace" + } + } + } + }, + "parameters": { + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "Management Group ID.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-01-01-preview." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "children", + "path", + "ancestors" + ], + "x-ms-enum": { + "name": "ManagementGroupExpandType", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group. $expand=ancestors includes the ancestor Ids of the current group." + }, + "RecurseParameter": { + "name": "$recurse", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true." + }, + "CreateManagementGroupRequestParameter": { + "name": "createManagementGroupRequest", + "in": "body", + "required": true, + "description": "Management group creation parameters.", + "schema": { + "$ref": "#/definitions/CreateManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "PatchGroupRequestParameter": { + "name": "patchGroupRequest", + "in": "body", + "required": true, + "description": "Management group patch parameters.", + "schema": { + "$ref": "#/definitions/PatchManagementGroupRequest" + }, + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}') and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SelectParameter": { + "name": "$select", + "in": "query", + "required": false, + "description": "This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SearchParameter": { + "name": "$search", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "AllowedParents", + "AllowedChildren", + "ParentAndFirstLevelChildren", + "ParentOnly", + "ChildrenOnly" + ], + "x-ms-enum": { + "name": "EntitySearchType", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in. \nWith $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.\nWith $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.\nWith $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.\nWith $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.\nWith $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it's descendants for it to show up in the results." + }, + "GroupNameParameter": { + "name": "groupName", + "in": "query", + "required": false, + "description": "A filter which allows the get entities call to focus on a particular group (i.e. \"$filter=name eq 'groupName'\")", + "type": "string", + "x-ms-parameter-location": "method" + }, + "CreateOrUpdateManagementGroupSettingsRequestParameter": { + "name": "CreateTenantSettingsRequest", + "in": "body", + "required": true, + "description": "Tenant level settings request parameter.", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSettingsRequest" + }, + "x-ms-parameter-location": "method" + }, + "CheckNameAvailabilityParameter": { + "name": "checkNameAvailabilityRequest", + "in": "body", + "required": true, + "description": "Management group name availability check parameters.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of entities to skip over when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of elements to return when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "method" + }, + "SkipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n", + "x-ms-parameter-location": "method" + }, + "CacheControlHeader": { + "name": "Cache-Control", + "in": "header", + "default": "no-cache", + "description": "Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityViewParameter": { + "name": "$view", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "FullHierarchy", + "GroupsOnly", + "SubscriptionsOnly", + "Audit" + ], + "x-ms-enum": { + "name": "EntityViewParameterType", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call." + } + } +} diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md index 69c453575670..765e5def282f 100644 --- a/specification/managementgroups/resource-manager/readme.md +++ b/specification/managementgroups/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Management Groups. - - --- + ## Getting Started + To build the SDK for Management Groups, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,19 +15,31 @@ To build the SDK for Management Groups, simply [Install AutoRest](https://aka.ms To see additional help and options, run: > `autorest --help` + --- ## Configuration ### Basic Information + These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2021-04 +tag: package-2023-04 ``` + +### Tag: package-2023-04 + +These settings apply only when `--tag=package-2023-04` is specified on the command line. + +```yaml $(tag) == 'package-2023-04' +input-file: + - Microsoft.Management/stable/2023-04-01/management.json +``` ### Tag: package-2021-04 + These settings apply only when `--tag=package-2021-04` is specified on the command line. ``` yaml $(tag) == 'package-2021-04' @@ -36,6 +48,7 @@ input-file: ``` ### Tag: package-2020-10 + These settings apply only when `--tag=package-2020-10` is specified on the command line. ``` yaml $(tag) == 'package-2020-10' @@ -44,6 +57,7 @@ input-file: ``` ### Tag: package-2020-05 + These settings apply only when `--tag=package-2020-05` is specified on the command line. ``` yaml $(tag) == 'package-2020-05' @@ -52,6 +66,7 @@ input-file: ``` ### Tag: package-2020-02 + These settings apply only when `--tag=package-2020-02` is specified on the command line. ``` yaml $(tag) == 'package-2020-02' @@ -60,6 +75,7 @@ input-file: ``` ### Tag: package-2019-11 + These settings apply only when `--tag=package-2019-11` is specified on the command line. ``` yaml $(tag) == 'package-2019-11' @@ -68,6 +84,7 @@ input-file: ``` ### Tag: package-2018-03 + These settings apply only when `--tag=package-2018-03` is specified on the command line. ``` yaml $(tag) == 'package-2018-03' @@ -76,6 +93,7 @@ input-file: ``` ### Tag: package-2018-01 + These settings apply only when `--tag=package-2018-01` is specified on the command line. ``` yaml $(tag) == 'package-2018-01' @@ -84,6 +102,7 @@ input-file: ``` ### Tag: package-2017-11 + These settings apply only when `--tag=package-2017-11` is specified on the command line. ``` yaml $(tag) == 'package-2017-11' @@ -92,6 +111,7 @@ input-file: ``` ### Tag: package-2017-08 + These settings apply only when `--tag=package-2017-08` is specified on the command line. ``` yaml $(tag) == 'package-2017-08' @@ -100,8 +120,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -138,7 +158,8 @@ csharp: ## Python See configuration in [readme.python.md](./readme.python.md) -``` + +``` ## Go @@ -289,7 +310,3 @@ java: regenerate-manager: true generate-interface: true ``` - - - - diff --git a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicProducts_List.json b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicProducts_List.json new file mode 100644 index 000000000000..7dc662ffd599 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicProducts_List.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "language": "en", + "api-version": "2023-05-01-preview", + "market": "US" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "displayName": "productDisplayName", + "popularity": 1.0, + "categoryIds": [ + "monitoring-and-diagnostics", + "virtualMachine" + ], + "industryIds": [ + "consumer-goods", + "retailers" + ], + "publisherId": "Microsoft", + "azureBenefit": "Eligible", + "badges": [ + "ExternalPurchase" + ], + "publisherType": "Microsoft", + "publishingStage": "Public", + "uniqueProductId": "uniqueProductId", + "productType": "VirtualMachine", + "productSubType": "Azure", + "operatingSystems": [ + "windows.others" + ], + "pricingTypes": [ + "Payg" + ], + "publisherDisplayName": "Microsoft", + "longSummary": "longSummary", + "summary": "summary", + "smallIconUri": "SomeIconUri", + "description": "productDescription", + "ratingBuckets": [ + "AboveOne" + ], + "ratingAverage": 0.0, + "ratingCount": 0, + "plans": [ + { + "planId": "plan1Id", + "uniquePlanId": "uniquePlan1Id", + "displayName": "displayName", + "vmArchitectureType": "X64Gen1", + "cspState": "SelectiveOptIn", + "metadata": { + "generation": null, + "altStackReference": null + }, + "altStackReference": "altStackReference", + "stackType": "Classic", + "altArchitectureReference": "altArchitectureReference", + "categoryIds": [], + "hasProtectedArtifacts": false, + "pricingTypes": [ + "Payg" + ], + "vmSecuritytypes": [ + "None" + ], + "summary": "PlanSummary", + "description": "plan description", + "skuId": "0001", + "planType": "VirtualMachine", + "displayRank": "2147483647", + "isPrivate": false + } + ], + "supportedProducts": [ + "suportedProduct1" + ], + "applicableProducts": [ + "applicableProduct1" + ], + "locations": [ + "EU North" + ], + "serviceFamily": "service family", + "service": "service name", + "productId": "product id", + "hasMarketplaceFootprint": true, + "attributes": null, + "lastModifiedDateTime": "2022-02-14T23:31:25.5733368+00:00" + }, + { + "displayName": "display name", + "popularity": 0.0, + "publisherId": "Microsoft", + "azureBenefit": "NotEligible", + "publisherType": "Microsoft", + "productType": "AzureServices", + "productSubType": "Azure", + "pricingTypes": [], + "publisherDisplayName": "Microsoft", + "description": "description", + "locations": [ + "US West 2", + "UK South", + "BR South" + ], + "serviceFamily": "Compute", + "service": "Virtual Machines", + "productId": "product id", + "hasMarketplaceFootprint": false, + "attributes": [ + { + "key": "attr1", + "value": "val1" + } + ] + } + ], + "nextPageLink": "https://catalogapi.azure.com/products?api-version=2023-05-01-preview&$skiptoken=W3s..." + } + } + } +} 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 new file mode 100644 index 000000000000..86327f3afdb0 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/PublicSkus_List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "serviceFamily": "Compute", + "service": "Virtual Machines", + "language": "en", + "api-version": "2023-05-01-preview", + "locations": "US East 2", + "$filter": "productId eq 'product_id' and skuId eq '0001'" + }, + "responses": { + "200": { + "body": { + "items": [ + { + "productId": "product id", + "productDisplayName": "product display name", + "productDescription": "product descripiton", + "serviceFamily": "Compute", + "service": "Virtual Machines", + "publisherId": "Microsoft", + "publisherType": "Microsoft", + "productType": "AzureServices", + "productSubType": "Azure", + "productAttributes": [], + "skuName": "sku_1", + "skuId": "0001", + "skuType": "OnDemand", + "language": "en", + "skuDescription": "sku description", + "skuTitle": "sku title", + "lastModifiedDateTime": "2023-06-14T17:22:13.7231431Z", + "location": "US East 2", + "armRegionName": "eastus2", + "cloud": "Global", + "locationType": "Region", + "region": "US East 2", + "skuGroupId": "sku group id", + "zone": "Zone 1", + "feature": "Spot", + "serviceType": "service type", + "skuAttributes": [ + { + "key": "attr1", + "value": "val1" + } + ], + "skuProperties": { + "category": "General purpose", + "dataDiskType": "Ssd", + "diskType": "Ssd", + "numberOfCores": "8", + "ram": "64", + "vCpu": "8", + "armSkuName": "sku name" + }, + "offeringProperties": [ + { + "productCode": "00000000-0000-0000-0000-000000000000", + "termId": "term id", + "meterType": "meter type", + "billingMeterId": "00000000-0000-0000-0000-000000000000", + "offeringId": "00000000-0000-0000-0000-00000000000000000000-0000-0000-0000-000000000000", + "type": "Consumption" + } + ] + } + ], + "nextPageLink": "https://catalogapi.azure.com/skus?serviceFamily=Compute&service=Virtual+Machines&api-version=2023-05-01-preview&language=en&$filter=...&$skiptoken=W3s..." + } + } + } +} diff --git a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_SaaS_Get.json b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_SaaS_Get.json new file mode 100644 index 000000000000..d70f72ee31ea --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_SaaS_Get.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "id": "uniqueProductId", + "language": "en", + "api-version": "2023-05-01-preview", + "market": "US" + }, + "responses": { + "200": { + "body": { + "language": "en", + "hasStandardContractAmendments": false, + "offerId": "offerId", + "standardContractAmendmentsRevisionId": "00000000-0000-0000-0000-000000000000", + "isPrivate": false, + "isStopSell": false, + "legalTermsUri": "legalTermsUri", + "cspLegalTermsUri": "cspLegalTermsUri", + "legalTermsType": "None", + "privacyPolicyUri": "privacyPolicyUri", + "supportUri": "supportUri", + "links": [ + { + "id": "linkId", + "displayName": "linkDisplayName", + "uri": "linkUri" + } + ], + "linkedAddIns": [ + "assetId:someId" + ], + "mediumIconUri": "mediumIconUri", + "largeIconUri": "largeIconUri", + "wideIconUri": "wideIconUri", + "images": [ + { + "context": "imageContext", + "items": [ + { + "id": "small", + "uri": "imageUrl", + "type": "icon" + } + ] + } + ], + "videos": [ + { + "caption": "caption", + "uri": "https://videouri", + "videoPurpose": "trailer", + "previewImage": { + "caption": "previewImageCaption", + "uri": "https://previewImageUri", + "imagePurpose": "trailer" + } + } + ], + "plans": [ + { + "id": "0001", + "availabilities": [ + { + "id": "availabilityId", + "actions": [ + "Browse" + ], + "meter": null, + "pricingAudience": "DirectCommercial", + "terms": null, + "hasFreeTrials": false, + "displayRank": 0 + } + ], + "uiDefinitionUri": "uiDefUri", + "isHidden": false, + "isStopSell": false, + "isQuantifiable": false, + "purchaseDurationDiscounts": [ + { + "duration": "duration", + "discountPercentage": 0 + } + ], + "planId": "plan1Id", + "uniquePlanId": "uniquePlan1Id", + "displayName": "planDisplayName", + "metadata": { + "generation": null, + "altStackReference": null + }, + "categoryIds": [], + "pricingTypes": [], + "description": "planDescription", + "skuId": "0001", + "planType": "SaaS", + "isPrivate": false + } + ], + "isReseller": false, + "productOwnershipSellingMotion": "3PPAgency", + "disableSendEmailOnPurchase": false, + "displayName": "ProductDisplayName", + "popularity": 1.0, + "categoryIds": [ + "Productivity" + ], + "industryIds": [ + "Education" + ], + "publisherId": "publisherId", + "azureBenefit": "NotEligible", + "publisherType": "Microsoft", + "publishingStage": "Public", + "uniqueProductId": "uniqueProductId", + "productType": "SaaS", + "productSubType": "Azure", + "productFamily": "Azure", + "pricingTypes": [], + "publisherDisplayName": "publisherDisplayName", + "longSummary": "longSummary", + "linkedAddInsTypes": {}, + "smallIconUri": "smallIconUri", + "description": "description", + "ratingAverage": 0.0, + "ratingCount": 0, + "service": "SaaS", + "serviceFamily": "SaaS", + "productId": "product_id", + "hasMarketplaceFootprint": true, + "lastModifiedDateTime": "2022-09-10T17:09:22.5659785+00:00" + } + } + } +} diff --git a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_VM_Get.json b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_VM_Get.json new file mode 100644 index 000000000000..2c6ee8385109 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/examples/SinglePublicProduct_VM_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "id": "uniqueProductId", + "language": "en", + "api-version": "2023-05-01-preview", + "market": "US" + }, + "responses": { + "200": { + "body": { + "language": "en", + "hasStandardContractAmendments": false, + "offerId": null, + "standardContractAmendmentsRevisionId": "00000000-0000-0000-0000-000000000000", + "isPrivate": false, + "isStopSell": false, + "legalTermsType": "None", + "isReseller": false, + "productOwnershipSellingMotion": "1PP", + "disableSendEmailOnPurchase": false, + "displayName": "Product display name", + "popularity": 0.0, + "publisherId": "Microsoft", + "azureBenefit": "NotEligible", + "publisherType": "Microsoft", + "productType": "AzureServices", + "productSubType": "Azure", + "pricingTypes": [], + "publisherDisplayName": "Microsoft", + "description": "product descripiton", + "locations": [ + "US South Central", + "US North Central", + "US East 2", + "US East", + "US Central" + ], + "serviceFamily": "Compute", + "service": "Virtual Machines", + "productId": "product_id", + "hasMarketplaceFootprint": false, + "attributes": [ + { + "key": "key1", + "value": "val1" + } + ] + } + } + } +} diff --git a/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/products.json b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/products.json new file mode 100644 index 000000000000..9eef0b0479d7 --- /dev/null +++ b/specification/marketplacecatalog/data-plane/Products/preview/2023-05-01-preview/products.json @@ -0,0 +1,2426 @@ +{ + "x-generator": "NSwag v13.12.1.0 (NJsonSchema v10.4.6.0 (Newtonsoft.Json v13.0.0.0))", + "swagger": "2.0", + "info": { + "title": "Microsoft Marketplace Catalog Browse API", + "description": "Microsoft Marketplace Catalog Browse API", + "termsOfService": "None", + "version": "2023-05-01-preview" + }, + "host": "catalogapi.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/products/{id}": { + "get": { + "tags": [ + "SinglePublicProduct" + ], + "summary": "Single Public Product API provides an unauthenticated endpoint for consuming product attributes of a single commercial 3rd party Marketplace public product or 1st party Azure product. Each API request must include an API key allocated to you. Send an email to MKPL_Platform_API_DL@microsoft.com including the following details to get the API Key:\n- Customer name\n- Service/Product name\n- AD Registered App ID (if available)\n- Focal point email\n- Use case/scenario\n- Expected traffic volume, including peak requests per second (daily)", + "operationId": "Products_Get", + "x-ms-examples": { + "Get_Single_Product_SaaS": { + "$ref": "./examples/SinglePublicProduct_SaaS_Get.json" + }, + "Get_Single_Product_VM": { + "$ref": "./examples/SinglePublicProduct_VM_Get.json" + } + }, + "parameters": [ + { + "type": "string", + "name": "id", + "in": "path", + "required": true, + "description": "The unique product Id or product id" + }, + { + "type": "string", + "name": "market", + "in": "query", + "required": true, + "description": "Product market value (the response will include only products that can be sold in the specified market)\nPossible values can be found at https://docs.microsoft.com/en-us/azure/marketplace/marketplace-geo-availability-currencies. Example: 'US'" + }, + { + "type": "string", + "name": "api-version", + "x-originalName": "apiVersion", + "in": "query", + "required": true, + "description": "Version of the REST API used for the request. " + }, + { + "type": "string", + "name": "language", + "in": "query", + "description": "Language to search, ISO 639-1 two-letter code, possible values - 'en,cs,de,es,fr,hu,it,ja,ko,nl,pl,pt-br,pt-pt,ru,sv,tr,zh-hans,zh-hant'. Default is \"en\"", + "default": "en" + }, + { + "type": "array", + "name": "locations", + "in": "query", + "description": "Return products available in selected location. Enumeration of the Azure datacenter regions. See https://azure.microsoft.com/regions/", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "type": "boolean", + "name": "includeStopSoldPlans", + "in": "query", + "description": "Indicates whether to include in the response the product's plans/SKUs that are no longer available for purchase. By default, includeStopSoldPlans is set to FALSE.", + "default": false + }, + { + "type": "array", + "name": "hideKeys", + "in": "query", + "description": "This key is utilized to retrieve preview products and is generated within the Partner Center during the offer publishing process.", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "type": "boolean", + "name": "excludeSkuDetails", + "in": "query", + "description": "By default SKU details are included (excludeSkuDetails = FALSE ), to exclude SKU details in the response, set excludeSkuDetails to TRUE.", + "default": false + }, + { + "type": "boolean", + "name": "includeFutureAvailabilities", + "in": "query", + "description": "Indicates whether to include the product's plans/SKU availabilities with future dates in the response. By default, includeFutureAvailabilities is set to FALSE.", + "default": false + }, + { + "type": "string", + "name": "skuId", + "in": "query", + "description": "Apply SKU ID filtering to the results and only return products that include SKUs matching the selected SKU ID.", + "default": "en" + }, + { + "type": "string", + "name": "x-ms-pricing-audience", + "in": "header", + "required": false, + "description": "DirectCommercial or PartnerCommercial, DirectCommercial is the default" + }, + { + "type": "string", + "name": "X-API-Key", + "in": "header", + "required": true, + "description": "Use Api key provided by Marketplace Catalog Team as a parameter provided in the header" + } + ], + "responses": { + "200": { + "description": "Returns a single public or preview product", + "schema": { + "$ref": "#/definitions/ProductDetails" + } + }, + "default": { + "description": " Error Responses: \n\n * 400 - In case of a misconfigured request.\n\n * 401 - In case of a missing api key header\n\n * 404 - In case product not found.\n\n * 500 - In case of internal error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code" + } + } + } + } + } + }, + "/products": { + "get": { + "tags": [ + "ListingPublicProducts" + ], + "summary": "Public Products API provides an unauthenticated endpoint for consuming commercial 3rd party Marketplace public products and 1st party Azure products. In addition, it enables Odata filtering on selected product properties. Each API request must include an API key allocated to you (see X-API-Key description). Send an email to MKPL_Platform_API_DL@microsoft.com including the following details to get the API Key:\n- Customer name\n- Service/Product name\n- AD Registered App ID (if available)\n- Focal point email\n- Use case/scenario\n- Expected traffic volume, including peak requests per second (daily)", + "x-ms-examples": { + "List_Products": { + "$ref": "./examples/PublicProducts_List.json" + } + }, + "operationId": "Products_List", + "parameters": [ + { + "type": "string", + "name": "api-version", + "x-originalName": "apiVersion", + "in": "query", + "required": true, + "description": "Version of the REST API used for the request. " + }, + { + "type": "string", + "name": "storefront", + "in": "query", + "description": "Return products available in Azure Portal Marketplace, AppSource or Azure Marketplace portal. The possible values are: \n- `azure` - Azure Portal Marketplace\n- `amp` - Azure Marketplace portal\n- `appsource` - AppSource portal\nThe default value is 'azure'", + "default": "azure" + }, + { + "type": "string", + "name": "language", + "in": "query", + "description": "Language to search, ISO 639-1 two-letter code, possible values - 'en,cs,de,es,fr,hu,it,ja,ko,nl,pl,pt-br,pt-pt,ru,sv,tr,zh-hans,zh-hant'. Default is \"en\"", + "default": "en" + }, + { + "type": "array", + "name": "locations", + "in": "query", + "description": "Return products available in selected location. Enumeration of the Azure datacenter regions. See https://azure.microsoft.com/regions/", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "type": "string", + "name": "market", + "in": "query", + "description": "Product market value (the response will include only products that can be sold in the specified market)\nPossible values can be found at https://docs.microsoft.com/en-us/azure/marketplace/marketplace-geo-availability-currencies. Example: 'US'" + }, + { + "type": "array", + "name": "hideKeys", + "in": "query", + "description": "This key is utilized to retrieve preview products and is generated within the Partner Center during the offer publishing process.", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "type": "array", + "name": "select", + "in": "query", + "description": "Selects which properties to include in the results. Example: 'select=displayName'", + "collectionFormat": "csv", + "items": { + "type": "string" + } + }, + { + "type": "string", + "name": "filter", + "in": "query", + "description": "Filters the results, based on a Boolean condition. Example: 'filter=productType eq \"VirtualMachine\"'. Fields that can be filtered by are:\n- `displayName`\n- `productId`\n- `popularity`\n- `categoryIds`\n- `industryIds`\n- `publisherId`\n- `uniqueProductId`\n- `productType`\n- `operatingSystems`\n- `pricingTypes`\n- `publisherDisplayName`\n- `longSummary`\n- `summary`\n- `linkedAddinsTypes`\n- `description`\n- `supportedProducts`\n- `applicableProducts`\n- `lastModifiedDateTime`\n- `plan.planId`\n- `plan.displayName`\n- `plan.cspState`\n- `plan.altStackReference`\n- `plan.stackType`\n- `plan.categoryIds`\n- `plan.hasProtectedArtifacts`\n- `plan.pricingTypes`\n- `plan.summary`\n- `plan.description`\n- `plan.skuId`\n- `plan.displayRank`\n- `plan.isPrivate`" + }, + { + "type": "array", + "name": "expand", + "in": "query", + "description": "Expands related entities inline. Example: 'expand=startingPrice'", + "collectionFormat": "csv", + "items": { + "type": "string" + } + }, + { + "type": "string", + "name": "orderby", + "in": "query", + "description": "Ordering expression for the results using OData notation. Avoid using orderby unless essential as this may impact the latency of your request. Example: 'orderby=displayName desc'.This API only supports ordering by a single field. Fields that can be ordered by are:\n- `lastModifiedDateTime`\n- `uniqueProductId`\n- `productType`\n- `displayName`\n- `publisherId`" + }, + { + "type": "string", + "name": "X-API-Key", + "in": "header", + "required": true, + "description": "Use Api key provided by Marketplace Catalog Team as a parameter provided in the header" + } + ], + "responses": { + "200": { + "description": "Returns a list of public or preview products", + "schema": { + "$ref": "#/definitions/CatalogApiResponse" + } + }, + "default": { + "description": " Error Responses: \n\n * 400 - In case of a misconfigured request.\n\n * 401 - In case of a missing api key header\n\n * 500 - In case of internal error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code" + } + } + } + } + } + }, + "/skus": { + "get": { + "tags": [ + "ListingPublicSkus" + ], + "summary": "Public Skus API provides an unauthenticated endpoint for consuming commercial 3rd party Marketplace public skus and 1st party Azure skus. In addition, it enables Odata filtering on selected sku properties or attributes. Each API request must include an API key allocated to you (see X-API-Key description).Send an email to MKPL_Platform_API_DL@microsoft.com including the following details to get the API Key:\n- Customer name\n- Service/Product name\n- AD Registered App ID (if available)\n- Focal point email\n- Use case/scenario\n- Expected traffic volume, including peak requests per second (daily)", + "x-ms-examples": { + "List_Skus": { + "$ref": "./examples/PublicSkus_List.json" + } + }, + "operationId": "Skus_List", + "parameters": [ + { + "type": "string", + "name": "api-version", + "x-originalName": "apiVersion", + "in": "query", + "required": true, + "description": "Version of the REST API used for the request. " + }, + { + "type": "string", + "name": "serviceFamily", + "in": "query", + "required": true, + "description": "The service family of the product, such as 'Compute'" + }, + { + "type": "string", + "name": "service", + "in": "query", + "required": true, + "description": "The service name of the product, such as 'Virtual Machines'" + }, + { + "type": "string", + "name": "language", + "in": "query", + "description": "Language to search, ISO 639-1 two-letter code, possible values - 'en,cs,de,es,fr,hu,it,ja,ko,nl,pl,pt-br,pt-pt,ru,sv,tr,zh-hans,zh-hant'. Default is \"en\"", + "default": "en" + }, + { + "type": "array", + "name": "locations", + "in": "query", + "description": "Return skus available in selected location. Enumeration of the Azure datacenter regions. See https://azure.microsoft.com/regions/", + "collectionFormat": "multi", + "items": { + "type": "string" + } + }, + { + "type": "string", + "name": "market", + "in": "query", + "description": "Product market value (the response will include only skus that can be sold in the specified market)\nPossible values can be found at https://docs.microsoft.com/en-us/azure/marketplace/marketplace-geo-availability-currencies. Example: 'US'" + }, + { + "type": "array", + "name": "select", + "in": "query", + "description": "Selects which properties to include in the results. Example: 'select=skuTitle'", + "collectionFormat": "csv", + "items": { + "type": "string" + } + }, + { + "type": "string", + "name": "filter", + "in": "query", + "description": "Filters the results, based on a Boolean condition. Example: 'filter=productType eq \"VirtualMachine\"'. Fields that can be filtered by are:\n- `productId`\n- `productDisplayName`\n- `productDescription`\n- `publisherId`\n- `publisherType`\n- `productType`\n- `productSubType`\n- `productAttributes`\n- `skuName`\n- `skuId`\n- `skuType`\n- `skuDescription`\n- `skuTitle`\n- `armRegionName`\n- `skuGroupId`\n- `cloud`\n- `locationType`\n- `region`\n- `lastModifiedDateTime`\n- `zone`\n- `serviceType`\n- `skuAttributes`\n- `skuProperties`\n- `offeringProperties`" + }, + { + "type": "string", + "name": "orderby", + "in": "query", + "description": "Ordering expression for the results using OData notation. Avoid using orderby unless essential as this may impact the latency of your request. Example: 'orderby=skuName desc'.This API only supports ordering by a single field. Fields that can be ordered by are:\n- `lastModifiedDateTime`\n- `publisherId`\n- `productType`\n- `skuName`\n- `skuType`" + }, + { + "type": "string", + "name": "X-API-Key", + "in": "header", + "required": true, + "description": "Use Api key provided by Marketplace Catalog Team as a parameter provided in the header" + } + ], + "responses": { + "200": { + "description": "Returns a list of public or preview products", + "schema": { + "$ref": "#/definitions/SkuApiResponse" + } + }, + "default": { + "description": " Error Responses: \n\n * 400 - In case of a misconfigured request.\n\n * 401 - In case of a missing api key header\n\n * 500 - In case of internal error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "Error code" + } + } + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The API error response object", + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "description": "The API response details", + "$ref": "#/definitions/ErrorResponseDetails" + } + } + }, + "ErrorResponseDetails": { + "description": "The API error response details object", + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "The error code description. Such as code=InternalError", + "type": "string" + }, + "message": { + "description": "The error message. Such as message=Internal server error", + "type": "string" + } + } + }, + "ProductDetails": { + "type": "object", + "description": "Summary description of the product", + "required": [ + "productType", + "productId", + "isPrivate", + "isStopSell" + ], + "properties": { + "displayName": { + "type": "string", + "description": "Product display name" + }, + "popularity": { + "type": "number", + "description": "Popularity of the product", + "format": "double" + }, + "categoryIds": { + "type": "array", + "description": "Array of product categories, https://docs.microsoft.com/en-us/azure/marketplace/marketplace-categories-industries#categories. Such as 'Productivity'", + "items": { + "type": "string" + } + }, + "industryIds": { + "type": "array", + "description": "List of industry IDs the item belongs to", + "items": { + "type": "string" + } + }, + "publisherId": { + "type": "string", + "description": "Publisher id" + }, + "azureBenefit": { + "description": "Eligibility for Azure consumption commitment benefit (https://docs.microsoft.com/en-us/marketplace/azure-consumption-commitment-benefit). Possible values: \n- `Eligible` - Product is eligible for Azure consumption commitment benefit\n- `NotEligible` - Product is not eligible for Azure consumption commitment benefit", + "allOf": [ + { + "$ref": "#/definitions/AzureBenefit" + } + ] + }, + "badges": { + "type": "array", + "description": "The following product badges are available: preferredSolution, powerBICertified, AdditionalPurchaseRequirement", + "items": { + "$ref": "#/definitions/Badge" + } + }, + "publisherType": { + "description": "A value indicating whether this is a Microsoft or third party product. Possible values:\n- `Microsoft` - Product is published by Microsoft (1st party product)\n- `Third Party` - Product is published by Third Party Vendor", + "allOf": [ + { + "$ref": "#/definitions/PublisherType" + } + ] + }, + "publishingStage": { + "description": "Product publishing stage. Possible values:\n- `Preview` - Product is available to restricted audience\n- `Public` - Product is publicly available in the Marketplace", + "allOf": [ + { + "$ref": "#/definitions/PublishingStage" + } + ] + }, + "uniqueProductId": { + "type": "string", + "description": "Unique product identifier" + }, + "productType": { + "description": "The delivery method or deployment model. Possible values:\n- `SaaS` - The product is a Software solution purchased on pay-as-you-go basis from a cloud service provider\n- `VirtualMachine` - The product is Image service instances with usage-based pricing\n- `AzureApplication` - Products published as Solution Templates (ST) or Azure Managed Apps (AMA) plans that deploy Azure resources to the customer tenant \n- `DynamicsCE` - All Dynamics products except for DynamicsBC and DynamicsOps\n- `DynamicsBC` - Dynamics 365 business Central \n- `Container` - The product is delivered as Container\n- `DynamicsOps` - Dynamics 365 Operations Apps\n- `None` - Product type returned for Azure Services, Container Extensions and VM extensions\n- `IotEdgeModules` - Resource is delivered as IoT Edge Module\n- `ContainerApps` - Resource is delivered as Container App\n- `ConsultingServices` Consulting Services (available only in Azure Marketplace as listing offers)\n- `ManagedServices` - The product is delivered as Managed Service\n- `PowerBI` - Power BI products\n- `CosellOnly` - Products available in scope of Co-Sell program only\n- `PowerBIVisuals` - Power BI Visuals products\n- `Office365` - Office 365 products\n- `DevService` - Dev Service\n- `AADApps` - Azure Active Directory Applications\n- `VisualStudioExtension` - Visual Studio Extensions\n- `SolutionTemplate` - Solution Template plan type (applicable to Azure Applications only)\n- `ManagedApplication` - Managed Application plan type (applicable to Azure Applications only)\n- `MicrosoftProduct` - 1st party Azure product", + "allOf": [ + { + "$ref": "#/definitions/ProductType" + } + ] + }, + "productSubType": { + "type": "string", + "description": "Product sub type" + }, + "productFamily": { + "type": "string", + "description": "Product Family" + }, + "operatingSystems": { + "type": "array", + "description": "Operating system info for this product", + "items": { + "type": "string" + } + }, + "pricingTypes": { + "type": "array", + "description": "The list of the pricing types for which this offer is designated. Possible Values: \n- `Free` - Product has at least one plan that is free of charge.\n- `FreeTrial` - Product has at least one plan that is free trial.\n- `Byol` - Product has at least one plan that is bring your own license.\n- `Payg` - Product has at least one plan that is Pay as you go, usage based billing model.\n- `Ri` - Product has at least one plan that is Reserved Instance billing model.", + "items": { + "$ref": "#/definitions/PricingType" + } + }, + "publisherDisplayName": { + "type": "string", + "description": "Publisher display name" + }, + "longSummary": { + "type": "string", + "description": "Product long summary" + }, + "summary": { + "type": "string", + "description": "Product summary" + }, + "linkedAddInsTypes": { + "type": "object", + "description": "Linked add-in types", + "additionalProperties": { + "type": "string" + } + }, + "smallIconUri": { + "type": "string", + "description": "URI to the small product icon" + }, + "description": { + "type": "string", + "description": "The product description text" + }, + "ratingBuckets": { + "type": "array", + "description": "Rating buckets, Above1, Above2, Above3, Above4", + "items": { + "$ref": "#/definitions/RatingBucket" + } + }, + "ratingAverage": { + "type": "number", + "description": "Average rating for the offer", + "format": "double" + }, + "ratingCount": { + "type": "integer", + "description": "Total number of ratings for the offer", + "format": "int32" + }, + "startingPrice": { + "description": "Retail price of the product's cheapest plan", + "allOf": [ + { + "$ref": "#/definitions/MarketStartPrice" + } + ] + }, + "plans": { + "type": "array", + "description": "Full set of plan/SKU attributes", + "items": { + "$ref": "#/definitions/PlanDetails" + } + }, + "supportedProducts": { + "type": "array", + "description": "Maps to the list of compatible products that the publisher provides", + "items": { + "type": "string" + } + }, + "applicableProducts": { + "type": "array", + "description": "Product categories the offer belongs to", + "items": { + "type": "string" + } + }, + "lastModifiedDateTime": { + "type": "string", + "description": "Latest update date of the product", + "format": "date-time" + }, + "locations": { + "type": "array", + "description": "List of locations which are available on the SKUs", + "items": { + "type": "string" + } + }, + "serviceFamily": { + "type": "string", + "description": "The service family of the product, such as 'Compute'" + }, + "service": { + "type": "string", + "description": "The service name of the product, such as 'Virtual Machines'" + }, + "productId": { + "type": "string", + "description": "The unique id of the product" + }, + "hasMarketplaceFootprint": { + "type": "boolean", + "description": "Indication if product has a representation in the marketplace" + }, + "attributes": { + "type": "array", + "description": "Set of products attributes (varies per product type), where each attribute is represented by a pair of key (attribute name) and value(attribute value)", + "items": { + "$ref": "#/definitions/Attribute" + } + }, + "language": { + "type": "string", + "description": "The product language" + }, + "hasStandardContractAmendments": { + "type": "boolean", + "description": "A value indicating whether standard contract amendments are present for this product" + }, + "offerId": { + "type": "string", + "description": "The offer id" + }, + "standardContractAmendmentsRevisionId": { + "type": "string", + "description": "Standard contract amendments for the product" + }, + "universalAmendmentUrl": { + "type": "string", + "description": "The universal amendment link for an enterprise contract." + }, + "isPrivate": { + "type": "boolean", + "description": "A value indicating whether the item is private" + }, + "isStopSell": { + "type": "boolean", + "description": "A value indicating whether sale of this item is stopped" + }, + "stopSellInfo": { + "description": "A StopSellInfo object providing stop sell related data", + "allOf": [ + { + "$ref": "#/definitions/StopSellInfo" + } + ] + }, + "marketingMaterial": { + "description": "Includes links to the learning and marketing materials as configured by the publisher", + "allOf": [ + { + "$ref": "#/definitions/MarketingMaterial" + } + ] + }, + "legalTermsUri": { + "type": "string", + "description": "Legal terms URI" + }, + "cspLegalTermsUri": { + "type": "string", + "description": "CSP legal terms URI" + }, + "legalTermsType": { + "description": "Supported legal terms type. Possible values:\n- `EA` - Microsoft Enterprise Agreement\n- `None` - None", + "allOf": [ + { + "$ref": "#/definitions/LegalTermsType" + } + ] + }, + "privacyPolicyUri": { + "type": "string", + "description": "Uri to the privacy policy of the product" + }, + "supportUri": { + "type": "string", + "description": "Support uri of the product" + }, + "uiDefinitionUri": { + "type": "string", + "description": "User interface definition uri" + }, + "screenshotUris": { + "type": "array", + "description": "List of screenshot image URIs provided for the item", + "items": { + "type": "string" + } + }, + "links": { + "type": "array", + "description": "List of Links provided for the item", + "items": { + "$ref": "#/definitions/LinkProperties" + } + }, + "linkedAddIns": { + "type": "array", + "description": "List of linked Add Ins provided for the item", + "items": { + "type": "string" + } + }, + "mediumIconUri": { + "type": "string", + "description": "URI to the medium product icon" + }, + "largeIconUri": { + "type": "string", + "description": "URI to the large product icon" + }, + "wideIconUri": { + "type": "string", + "description": "URI to the wide product icon" + }, + "images": { + "type": "array", + "description": "List of Images", + "items": { + "$ref": "#/definitions/ImageGroup" + } + }, + "artifacts": { + "type": "array", + "description": "List of artifacts", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "videos": { + "type": "array", + "description": "List of product videos", + "items": { + "$ref": "#/definitions/ProductVideo" + } + }, + "additionalProductProperties": { + "type": "object", + "description": "Dictionary of additional properties provided for the item", + "additionalProperties": { + "type": "string" + } + }, + "pricingDetailsUri": { + "type": "string", + "description": "Pricing details uri of the product" + }, + "isReseller": { + "type": "boolean", + "description": "A value indicating whether microsoft is acting as a reseller" + }, + "productOwnershipSellingMotion": { + "type": "string", + "description": "Product ownership selling motion" + }, + "disableSendEmailOnPurchase": { + "type": "boolean", + "description": "Indication to disable sending email on purchase" + }, + "isCoreVm": { + "type": "boolean", + "description": "Set to true only for offers of ProductType.VirtualMachine to indicate that it was originally of ProductType.CoreVirtualMachine" + } + } + }, + "AzureBenefit": { + "type": "string", + "description": "Eligibility for Azure consumption commitment benefit (https://docs.microsoft.com/en-us/marketplace/azure-consumption-commitment-benefit). Possible values: \n- `Eligible` - The product is eligible for Azure consumption commitment benefit\n- `NotEligible` - The product is not eligible for Azure consumption commitment benefit", + "enum": [ + "Eligible", + "NotEligible" + ], + "x-ms-enum": { + "name": "AzureBenefit", + "modelAsString": true + } + }, + "Badge": { + "type": "string", + "description": "Badge type", + "enum": [ + "PreferredSolution", + "PowerBICertified", + "AdditionalPurchaseRequirement" + ], + "x-ms-enum": { + "name": "Badge", + "modelAsString": true + } + }, + "PublisherType": { + "type": "string", + "description": "A value indicating whether this is a Microsoft or third party product. Possible values:\n- `Microsoft` - Product is published by Microsoft (1st party product)\n- `Third Party` - Product is published by Third Party Vendor", + "enum": [ + "Microsoft", + "ThirdParty" + ], + "x-ms-enum": { + "name": "PublisherType", + "modelAsString": true + } + }, + "PublishingStage": { + "type": "string", + "description": "Product publishing stage. Possible values:\n- `Preview` - Product is available to restricted audience\n- `Public` - Product is publicly available in the Marketplace", + "enum": [ + "Preview", + "Public" + ], + "x-ms-enum": { + "name": "PublishingStage", + "modelAsString": true + } + }, + "ProductType": { + "type": "string", + "description": "The delivery method or deployment model. Possible values:\n- `SaaS` - The product is a Software solution purchased on pay-as-you-go basis from a cloud service provider\n- `VirtualMachine` - The product is Image service instances with usage-based pricing\n- `AzureApplication` - Products published as Solution Templates (ST) or Azure Managed Apps (AMA) plans that deploy Azure resources to the customer tenant \n- `DynamicsCE` - All Dynamics products except for DynamicsBC and DynamicsOps\n- `DynamicsBC` - Dynamics 365 business Central \n- `Container` - The product is delivered as Container\n- `DynamicsOps` - Dynamics 365 Operations Apps\n- `None` - Product type returned for Azure Services, Container Extensions and VM extensions\n- `IotEdgeModules` - Resource is delivered as IoT Edge Module\n- `ContainerApps` - Resource is delivered as Container App\n- `ConsultingServices` Consulting Services (available only in Azure Marketplace as listing offers)\n- `ManagedServices` - The product is delivered as Managed Service\n- `PowerBI` - Power BI products\n- `CosellOnly` - Products available in scope of Co-Sell program only\n- `PowerBIVisuals` - Power BI Visuals products\n- `Office365` - Office 365 products\n- `DevService` - Dev Service\n- `AADApps` - Azure Active Directory Applications\n- `VisualStudioExtension` - Visual Studio Extensions\n- `SolutionTemplate` - Solution Template plan type (applicable to Azure Applications only)\n- `ManagedApplication` - Managed Application plan type (applicable to Azure Applications only)\n- `MicrosoftProduct` - 1st party Azure product", + "enum": [ + "None", + "DevService", + "ManagedApplication", + "VirtualMachine", + "AzureApplication", + "Container", + "SaaS", + "SolutionTemplate", + "IotEdgeModules", + "ManagedServices", + "ContainerApps", + "VisualStudioExtension", + "DynamicsOps", + "DynamicsCE", + "DynamicsBC", + "PowerBI", + "ConsultingServices", + "CosellOnly", + "CoreVirtualMachine", + "PowerBIVisuals", + "Office365", + "AADApps", + "AzureServices", + "AppService", + "LogAnalytics", + "MicrosoftProduct" + ], + "x-ms-enum": { + "name": "ProductType", + "modelAsString": true + } + }, + "PricingType": { + "type": "string", + "description": "Pricing type", + "enum": [ + "Free", + "FreeTrial", + "Byol", + "Payg", + "Ri" + ], + "x-ms-enum": { + "name": "PricingType", + "modelAsString": true + } + }, + "RatingBucket": { + "type": "string", + "description": "Rating Bucket", + "enum": [ + "AboveOne", + "AboveTwo", + "AboveThree", + "AboveFour" + ], + "x-ms-enum": { + "name": "RatingBucket", + "modelAsString": true + } + }, + "Attribute": { + "type": "object", + "description": "Represents a SKU attribute, which consists of a key and value. The attributes may differ across various services.", + "properties": { + "key": { + "type": "string", + "description": "The attribute key" + }, + "value": { + "type": "string", + "description": "The attribute value" + } + } + }, + "MarketStartPrice": { + "type": "object", + "description": "Retail price of the product's cheapest plan", + "properties": { + "market": { + "type": "string", + "description": "The market for which the starting price is calculated" + }, + "termUnits": { + "type": "string", + "description": "The terms pricing model units" + }, + "meterUnits": { + "type": "string", + "description": "The meters pricing model units" + }, + "minTermPrice": { + "type": "number", + "description": "Starting (minimal) terms price" + }, + "minMeterPrice": { + "type": "number", + "description": "Starting (minimal) meters price" + }, + "currency": { + "type": "string", + "description": "Currency for price" + } + } + }, + "PlanSummary": { + "type": "object", + "description": "Returns a subset of Plan attributes", + "required": [ + "planType" + ], + "properties": { + "planId": { + "type": "string", + "description": "Plan id" + }, + "uniquePlanId": { + "type": "string", + "description": "Unique plan Id which is prefixed by combining uniqueProductId and PlanId with no separator in between" + }, + "displayName": { + "type": "string", + "description": "Display name of the plan / sku" + }, + "vmArchitectureType": { + "description": "VM Architecture Type. Applicable to Virtual Machine products only.\nPossible values:\n- `Arm64` - The VM image architecture of the plan is Arm64\n- `X64Gen1` - The VM image architecture of the plan is X64 Generation1\n- `X64Gen2` - The VM image architecture of the plan is X64 Generation2", + "allOf": [ + { + "$ref": "#/definitions/VmArchitectureType" + } + ] + }, + "cspState": { + "description": "Value showing whether the plan is available for purchase through CSP channel. Possible values: \n- `OptIn` - Plan configured CSP program opt-in for any partner in the CSP Program\n- `Optout` - Plan configured CSP program opt-out\n- `SelectiveOptIn` - Plan configured CSP program opt-in for specific partners in the CSP program ISV selects", + "allOf": [ + { + "$ref": "#/definitions/CspState" + } + ] + }, + "metadata": { + "description": "Expanded plan/SKU metadata.", + "allOf": [ + { + "$ref": "#/definitions/PlanMetadata" + } + ] + }, + "altStackReference": { + "type": "string", + "description": "Alternative stack reference" + }, + "stackType": { + "type": "string", + "description": "Stack type : Classic, Gen1, Gen2" + }, + "altArchitectureReference": { + "type": "string", + "description": "The alternative architecture reference" + }, + "categoryIds": { + "type": "array", + "description": "Plan CategoryIds", + "items": { + "type": "string" + } + }, + "hasProtectedArtifacts": { + "type": "boolean", + "description": "Set to true if plan has artifacts that are to be hidden for non authenticated users" + }, + "pricingTypes": { + "type": "array", + "description": "The list of the pricing types for which this plan is designated (Possible values are the same as at product level)", + "items": { + "$ref": "#/definitions/PricingType" + } + }, + "vmSecuritytypes": { + "type": "array", + "description": "VM security type. Applicable to Virtual Machine products only. Possible values:\n- Standard - Basic level of security for the virtual machine\n- Trusted - protects against persistent and advanced attacks on Gen2 virtual machines with configurable features like security boot and virtual Trusted Platform Module(vTPM)\n- Confidential - on top of Trusted Launch, Confidential virtual machines offer higher confidentiality and integrity guaranteed with hardware-based trusted execution environment", + "items": { + "$ref": "#/definitions/VmSecurityType" + } + }, + "summary": { + "type": "string", + "description": "The plan summary text" + }, + "description": { + "type": "string", + "description": "Plan / sku description" + }, + "skuId": { + "type": "string", + "description": "The SKU id" + }, + "planType": { + "description": "Managed Application or Solution template plan type (applicable only to Azure Applications product). Possible values: \n- `SolutionTemplate` - Solution Template plan type (applicable to Azure Applications only)\n- `ManagedApplication` - Managed Application plan type (applicable to Azure Applications only)", + "allOf": [ + { + "$ref": "#/definitions/ProductType" + } + ] + }, + "displayRank": { + "type": "string", + "description": "The order the plan is displayed in the 'Plans' table (as configured by the publisher)" + }, + "isPrivate": { + "type": "boolean", + "description": "Indication that the plan is accessible to restricted audience only" + }, + "hasRI": { + "type": "boolean", + "description": "Indication whether the SKU supports reservations" + } + } + }, + "VmArchitectureType": { + "type": "string", + "description": "VM Architecture Type. Applicable to Virtual Machine products only.\nPossible values:\n- `Arm64` - The VM image architecture of the plan is Arm64\n- `X64Gen1` - The VM image architecture of the plan is X64 Generation1\n- `X64Gen2` - The VM image architecture of the plan is X64 Generation2", + "enum": [ + "X64Gen1", + "X64Gen2", + "Arm64" + ], + "x-ms-enum": { + "name": "VmArchitectureType", + "modelAsString": true + } + }, + "CspState": { + "type": "string", + "description": "Value showing whether the plan is available for purchase through CSP channel. Possible values: \n- `OptIn` - Plan configured CSP program opt-in for any partner in the CSP Program\n- `Optout` - Plan configured CSP program opt-out\n- `SelectiveOptIn` - Plan configured CSP program opt-in for specific partners in the CSP program ISV selects.\nFor more information see, https://docs.microsoft.com/en-us/azure/marketplace/cloud-solution-providers", + "enum": [ + "OptIn", + "OptOut", + "SelectiveOptIn" + ], + "x-ms-enum": { + "name": "CspState", + "modelAsString": true + } + }, + "PlanMetadata": { + "type": "object", + "description": "Additional metadata", + "properties": { + "generation": { + "type": "string", + "description": "The VM image generation (applicable to Virtual Machine products only).see https://docs.microsoft.com/en-us/azure/virtual-machines/generation-2" + }, + "altStackReference": { + "type": "string", + "description": "Pointing to a planId which holds the alternative stack reference" + }, + "relatedSkus": { + "type": "array", + "description": "Pointing to a planId of plans that are related to this plan", + "items": { + "$ref": "#/definitions/PlanSkuRelation" + } + } + } + }, + "PlanSkuRelation": { + "type": "object", + "description": "Pointing to a related SKU object", + "properties": { + "sku": { + "description": "The Sku", + "allOf": [ + { + "$ref": "#/definitions/RelatedSku" + } + ] + }, + "relationType": { + "type": "string", + "description": "Relation Type" + } + } + }, + "RelatedSku": { + "type": "object", + "description": "The sku", + "properties": { + "name": { + "type": "string", + "description": "The name" + }, + "generation": { + "type": "string", + "description": "The generation" + }, + "identity": { + "type": "string", + "description": "The identity" + } + } + }, + "VmSecurityType": { + "type": "string", + "description": "VM security type. Applicable to Virtual Machine products only. Possible values:\n- Standard - Basic level of security for the virtual machine\n- Trusted - protects against persistent and advanced attacks on Gen2 virtual machines with configurable features like security boot and virtual Trusted Platform Module(vTPM)\n- Confidential - on top of Trusted Launch, Confidential virtual machines offer higher confidentiality and integrity guaranteed with hardware-based trusted execution environment", + "enum": [ + "None", + "Trusted", + "Confidential" + ], + "x-ms-enum": { + "name": "VmSecurityType", + "modelAsString": true + } + }, + "StopSellInfo": { + "type": "object", + "description": "Represents a model for stop sell related information", + "properties": { + "startDate": { + "type": "string", + "description": "A value indicating when the sale of this item is going to be stopped", + "format": "date-time" + }, + "reason": { + "description": "A value indicating the reason for stopping to sell this item. Possible values are: EndOfSupport, SecurityIssue, Other", + "allOf": [ + { + "$ref": "#/definitions/StopSellReason" + } + ] + }, + "alternativeOfferId": { + "type": "string", + "description": "A value indicating an ID of an alternative offer provided by the same publisher" + }, + "alternativePlanId": { + "type": "string", + "description": "A value indicating an ID of an alternative plan of the same offer" + } + } + }, + "StopSellReason": { + "type": "string", + "description": "Reason for stopping to sell an item", + "enum": [ + "EndOfSupport", + "SecurityIssue", + "Other" + ], + "x-ms-enum": { + "name": "StopSellReason", + "modelAsString": true + } + }, + "MarketingMaterial": { + "type": "object", + "description": "Includes links to the learning and marketing materials as configured by the publisher", + "properties": { + "path": { + "type": "string", + "description": "Path to the marketing site" + }, + "learnUri": { + "type": "string", + "description": "Path to the learn site" + } + } + }, + "LegalTermsType": { + "type": "string", + "description": "Supported legal terms type. Possible values:\n- `EA` - Microsoft Enterprise Agreement\n- `None` - None", + "enum": [ + "None", + "EA" + ], + "x-ms-enum": { + "name": "LegalTermsType", + "modelAsString": true + } + }, + "LinkProperties": { + "type": "object", + "description": "Represents a link item read from the gallery item package", + "properties": { + "id": { + "type": "string", + "description": "Id of the link" + }, + "displayName": { + "type": "string", + "description": "Display name of the link" + }, + "uri": { + "type": "string", + "description": "URI of the link" + } + } + }, + "ImageGroup": { + "type": "object", + "description": "List of image objects", + "properties": { + "context": { + "type": "string", + "description": "context" + }, + "items": { + "type": "array", + "description": "List of images", + "items": { + "$ref": "#/definitions/Image" + } + } + } + }, + "Image": { + "type": "object", + "description": "Includes link to the product image (can be displayed on product details page).", + "properties": { + "id": { + "type": "string", + "description": "Image id" + }, + "uri": { + "type": "string", + "description": "Image uri" + }, + "type": { + "type": "string", + "description": "Image type" + } + } + }, + "Artifact": { + "type": "object", + "description": "Plan level resources and configuration files", + "required": [ + "artifactType" + ], + "properties": { + "name": { + "type": "string", + "description": "Artifact name" + }, + "uri": { + "type": "string", + "description": "Artifact uri" + }, + "artifactType": { + "description": "The type of the artifact. Possible values:\n- `Custom` - Custom artifact type\n- `Fragment` - Contains link to the nested ARM template\n- `Metadata` - Metadata artifact type\n- `Template` - Contains link to the main ARM template", + "allOf": [ + { + "$ref": "#/definitions/ArtifactType" + } + ] + } + } + }, + "ArtifactType": { + "type": "string", + "description": "The type of the artifact. Possible values:\n- `Custom` - Custom artifact type\n- `Fragment` - Contains link to the nested ARM template\n- `Metadata` - Metadata artifact type\n- `Template` - Contains link to the main ARM template", + "enum": [ + "Template", + "Fragment", + "Custom", + "Metadata" + ], + "x-ms-enum": { + "name": "ArtifactType", + "modelAsString": true + } + }, + "ProductVideo": { + "type": "object", + "description": "Product Video", + "properties": { + "caption": { + "type": "string", + "description": "Caption" + }, + "uri": { + "type": "string", + "description": "Video uri", + "format": "uri" + }, + "videoPurpose": { + "type": "string", + "description": "Video purpose" + }, + "previewImage": { + "description": "Preview image", + "allOf": [ + { + "$ref": "#/definitions/PreviewImage" + } + ] + } + } + }, + "PreviewImage": { + "type": "object", + "description": "Video preview image", + "properties": { + "caption": { + "type": "string", + "description": "caption" + }, + "uri": { + "type": "string", + "description": "uri" + }, + "imagePurpose": { + "type": "string", + "description": "imagePurpose" + } + } + }, + "PlanDetails": { + "type": "object", + "description": "Full set of plan/SKU attributes", + "required": [ + "planType", + "isHidden", + "isStopSell", + "isQuantifiable" + ], + "properties": { + "planId": { + "type": "string", + "description": "Plan id" + }, + "uniquePlanId": { + "type": "string", + "description": "Unique plan Id which is prefixed by combining uniqueProductId and PlanId with no separator in between" + }, + "displayName": { + "type": "string", + "description": "Display name of the plan / sku" + }, + "vmArchitectureType": { + "description": "VM Architecture Type. Applicable to Virtual Machine products only.\nPossible values:\n- `Arm64` - The VM image architecture of the plan is Arm64\n- `X64Gen1` - The VM image architecture of the plan is X64 Generation1\n- `X64Gen2` - The VM image architecture of the plan is X64 Generation2", + "allOf": [ + { + "$ref": "#/definitions/VmArchitectureType" + } + ] + }, + "cspState": { + "description": "Value showing whether the plan is available for purchase through CSP channel. Possible values: \n- `OptIn` - Plan configured CSP program opt-in for any partner in the CSP Program\n- `Optout` - Plan configured CSP program opt-out\n- `SelectiveOptIn` - Plan configured CSP program opt-in for specific partners in the CSP program ISV selects", + "allOf": [ + { + "$ref": "#/definitions/CspState" + } + ] + }, + "metadata": { + "description": "Expanded plan/SKU metadata.", + "allOf": [ + { + "$ref": "#/definitions/PlanMetadata" + } + ] + }, + "altStackReference": { + "type": "string", + "description": "Alternative stack reference" + }, + "stackType": { + "type": "string", + "description": "Stack type : Classic, Gen1, Gen2" + }, + "altArchitectureReference": { + "type": "string", + "description": "The alternative architecture reference" + }, + "categoryIds": { + "type": "array", + "description": "Plan CategoryIds", + "items": { + "type": "string" + } + }, + "hasProtectedArtifacts": { + "type": "boolean", + "description": "Set to true if plan has artifacts that are to be hidden for non authenticated users" + }, + "pricingTypes": { + "type": "array", + "description": "The list of the pricing types for which this plan is designated (Possible values are the same as at product level)", + "items": { + "$ref": "#/definitions/PricingType" + } + }, + "vmSecuritytypes": { + "type": "array", + "description": "VM security type. Applicable to Virtual Machine products only. Possible values:\n- Standard - Basic level of security for the virtual machine\n- Trusted - protects against persistent and advanced attacks on Gen2 virtual machines with configurable features like security boot and virtual Trusted Platform Module(vTPM)\n- Confidential - on top of Trusted Launch, Confidential virtual machines offer higher confidentiality and integrity guaranteed with hardware-based trusted execution environment", + "items": { + "$ref": "#/definitions/VmSecurityType" + } + }, + "summary": { + "type": "string", + "description": "The plan summary text" + }, + "description": { + "type": "string", + "description": "Plan / sku description" + }, + "skuId": { + "type": "string", + "description": "The SKU id" + }, + "planType": { + "description": "Managed Application or Solution template plan type (applicable only to Azure Applications product). Possible values: \n- `SolutionTemplate` - Solution Template plan type (applicable to Azure Applications only)\n- `ManagedApplication` - Managed Application plan type (applicable to Azure Applications only)", + "allOf": [ + { + "$ref": "#/definitions/ProductType" + } + ] + }, + "displayRank": { + "type": "string", + "description": "The order the plan is displayed in the 'Plans' table (as configured by the publisher)" + }, + "isPrivate": { + "type": "boolean", + "description": "Indication that the plan is accessible to restricted audience only" + }, + "id": { + "type": "string", + "description": "The id" + }, + "availabilities": { + "type": "array", + "description": "List of availabilities for this plan", + "items": { + "$ref": "#/definitions/Availability" + } + }, + "uiDefinitionUri": { + "type": "string", + "description": "What blade to open when someone wants to create a marketplace item" + }, + "artifacts": { + "type": "array", + "description": "Files related to the marketplace item", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "version": { + "type": "string", + "description": "Version of the marketplace item" + }, + "isHidden": { + "type": "boolean", + "description": "A value indicating whether the plan is hidden" + }, + "isStopSell": { + "type": "boolean", + "description": "A value indicating whether plan has been stopped from selling" + }, + "stopSellInfo": { + "description": "A StopSellInfo object providing stop sell related data", + "allOf": [ + { + "$ref": "#/definitions/StopSellInfo" + } + ] + }, + "minQuantity": { + "type": "integer", + "description": "Min quantity", + "format": "int32" + }, + "maxQuantity": { + "type": "integer", + "description": "Max quantity", + "format": "int32" + }, + "isQuantifiable": { + "type": "boolean", + "description": "A value indicating whether the plan is quantifiable" + }, + "billingComponents": { + "type": "array", + "description": "Billing components", + "items": { + "$ref": "#/definitions/BillingComponent" + } + }, + "purchaseDurationDiscounts": { + "type": "array", + "description": "List of purchase duration discounts", + "items": { + "$ref": "#/definitions/PurchaseDurationDiscount" + } + }, + "isHiddenPrivateOffer": { + "type": "boolean", + "description": "A value indicating whether the plan is used as hidden private offer requiring a quote" + }, + "certifications": { + "type": "array", + "description": "List of certifications", + "items": { + "$ref": "#/definitions/LinkProperties" + } + }, + "customerInstruction": { + "type": "string", + "description": "Plan's customer instruction for purchasing" + }, + "planLabels": { + "type": "array", + "description": "Plan labels", + "items": { + "type": "string" + } + }, + "skuType": { + "type": "string", + "description": "SKU type" + }, + "skuTitle": { + "type": "string", + "description": "Sku title localized" + }, + "location": { + "type": "string", + "description": "SKU location" + }, + "armRegionName": { + "type": "string", + "description": "The Arm region name" + }, + "cloud": { + "type": "string", + "description": "Applicable cloud, such as 'Global'" + }, + "locationType": { + "type": "string", + "description": "The location type, such as 'Region'" + }, + "region": { + "type": "string", + "description": "The region" + }, + "skuGroupId": { + "type": "string", + "description": "The sku group id" + }, + "zone": { + "type": "string", + "description": "The zone, such as 'Zone 1'" + }, + "feature": { + "type": "string", + "description": "The feature, such as 'Spot'" + }, + "serviceType": { + "type": "string", + "description": "The service type" + }, + "skuAttributes": { + "type": "array", + "description": "Set of SKU attributes (varies per sku type), where each attribute is represented by a pair of key (attribute name) and value(attribute value)", + "items": { + "$ref": "#/definitions/Attribute" + } + }, + "skuProperties": { + "description": "The sku properties", + "allOf": [ + { + "$ref": "#/definitions/SkuProperties" + } + ] + }, + "offeringProperties": { + "type": "array", + "description": "SKU price related properties.", + "items": { + "$ref": "#/definitions/OfferingProperties" + } + } + } + }, + "SkuProperties": { + "type": "object", + "description": "The SKU properties, contains some of the attributes for faster OData filter", + "properties": { + "category": { + "type": "string", + "description": "The sku category" + }, + "dataDiskType": { + "type": "string", + "description": "The data disk type, such as 'Ssd'" + }, + "diskType": { + "type": "string", + "description": "The disk type, such as 'Ssd'" + }, + "numberOfCores": { + "type": "string", + "description": "The number of cores" + }, + "ram": { + "type": "string", + "description": "The Ram" + }, + "vCpu": { + "type": "string", + "description": "The number of virtual CPUs" + }, + "armSkuName": { + "type": "string", + "description": "The Arm sku name" + }, + "accessTier": { + "type": "string", + "description": "The access tier, such as 'Standard'" + } + } + }, + "OfferingProperties": { + "type": "object", + "description": "SKU price related properties", + "properties": { + "productCode": { + "type": "string", + "description": "The product code (UPN)" + }, + "termId": { + "type": "string", + "description": "The term id" + }, + "meterType": { + "type": "string", + "description": "The meter type" + }, + "billingMeterId": { + "type": "string", + "description": "The billing meter id" + }, + "offeringId": { + "type": "string", + "description": "The offering id" + }, + "type": { + "type": "string", + "description": "Entitlement, Consumption or Reservation" + } + } + }, + "Availability": { + "type": "object", + "description": "Availability for a given plan", + "required": [ + "pricingAudience", + "hasFreeTrials", + "displayRank" + ], + "properties": { + "id": { + "type": "string", + "description": "The document id" + }, + "actions": { + "type": "array", + "description": "List of allowed actions", + "items": { + "type": "string" + } + }, + "meter": { + "description": "Applicable billing meter information", + "allOf": [ + { + "$ref": "#/definitions/Meter" + } + ] + }, + "pricingAudience": { + "description": "Supported pricing audiences. Possible values:\n- `DirectCommercial` - Available to commercial direct channel\n- `PartnerCommercial` - Available to Cloud Solution Providers (CSP)", + "allOf": [ + { + "$ref": "#/definitions/PricingAudience" + } + ] + }, + "terms": { + "type": "array", + "description": "List of applicable terms", + "items": { + "$ref": "#/definitions/Term" + } + }, + "hasFreeTrials": { + "type": "boolean", + "description": "A value indicating whether it has free trials" + }, + "consumptionUnitType": { + "type": "string", + "description": "Consumption unit type" + }, + "displayRank": { + "type": "integer", + "description": "Display rank", + "format": "int32" + } + } + }, + "Meter": { + "type": "object", + "description": "Applicable billing meter information", + "properties": { + "meterId": { + "type": "string", + "description": "Meter id" + }, + "partNumber": { + "type": "string", + "description": "Compute part number" + }, + "consumptionResourceId": { + "type": "string", + "description": "Consumption resource id" + }, + "price": { + "description": "Retail price with currency", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + }, + "type": { + "type": "string", + "description": "Type of this meter" + }, + "includedQuantityProperties": { + "type": "array", + "description": "Included quantity properties", + "items": { + "$ref": "#/definitions/IncludedQuantityProperty" + } + } + } + }, + "Price": { + "type": "object", + "description": "Retail price with currency", + "required": [ + "isPIRequired", + "listPrice", + "msrp" + ], + "properties": { + "currencyCode": { + "type": "string", + "description": "Currency code i.e. 'USD'" + }, + "isPIRequired": { + "type": "boolean", + "description": "A value indicating whether a payment instrument is required" + }, + "listPrice": { + "type": "number", + "description": "Retail price for the item" + }, + "msrp": { + "type": "number", + "description": "Manufacturer's suggested retail price for the item" + } + } + }, + "IncludedQuantityProperty": { + "type": "object", + "description": "Included quantity properties", + "properties": { + "termId": { + "type": "string", + "description": "Term id" + }, + "quantity": { + "type": "string", + "description": "Quantity" + } + } + }, + "PricingAudience": { + "type": "string", + "description": "Supported pricing audiences", + "enum": [ + "DirectCommercial", + "PartnerCommercial" + ], + "x-ms-enum": { + "name": "PricingAudience", + "modelAsString": true + } + }, + "Term": { + "type": "object", + "description": "Applicable term", + "properties": { + "termDescriptionParameters": { + "type": "array", + "description": "Term description parameters", + "items": { + "$ref": "#/definitions/TermDescriptionParameter" + } + }, + "termId": { + "type": "string", + "description": "Term id" + }, + "termUnit": { + "type": "string", + "description": "Term unit" + }, + "prorationPolicy": { + "description": "Proration policy", + "allOf": [ + { + "$ref": "#/definitions/ProrationPolicy" + } + ] + }, + "termDescription": { + "type": "string", + "description": "Term description" + }, + "price": { + "description": "Retail price with currency", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + }, + "renewTermId": { + "type": "string", + "description": "Renew term id" + }, + "renewTermUnits": { + "type": "string", + "description": "Renew term units" + }, + "billingPlan": { + "description": "Billing Plan", + "allOf": [ + { + "$ref": "#/definitions/BillingPlan" + } + ] + }, + "renewToTermBillingPlan": { + "type": "string", + "description": "Renew Billing Plan" + }, + "isAutorenewable": { + "type": "boolean", + "description": "Indicates if autorenew is enabled" + } + } + }, + "TermDescriptionParameter": { + "type": "object", + "description": "Term description parameters", + "properties": { + "parameter": { + "type": "string", + "description": "Parameter" + }, + "value": { + "type": "string", + "description": "Value" + } + } + }, + "ProrationPolicy": { + "type": "object", + "description": "Proration policy", + "properties": { + "minimumProratedUnits": { + "type": "string", + "description": "Minimum prorated units" + } + } + }, + "BillingPlan": { + "type": "object", + "description": "Renew Billing Plan", + "properties": { + "billingPeriod": { + "type": "string", + "description": "Billing period" + }, + "title": { + "type": "string", + "description": "Title" + }, + "description": { + "type": "string", + "description": "Description" + }, + "price": { + "description": "Retail price with currency", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ] + } + } + }, + "BillingComponent": { + "type": "object", + "description": "Represents a billing component model", + "properties": { + "billingTag": { + "type": "string", + "description": "Billing Tag" + }, + "customMeterIds": { + "type": "object", + "description": "Custom Meter Ids", + "additionalProperties": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "PurchaseDurationDiscount": { + "type": "object", + "description": "The percentage discount for 3rd party virtual machines software reservations", + "required": [ + "discountPercentage" + ], + "properties": { + "duration": { + "type": "string", + "description": "The duration" + }, + "discountPercentage": { + "type": "number", + "description": "The discount percentage" + } + } + }, + "CatalogApiResponse": { + "type": "object", + "description": "Response page composed of a list of Product objects(that includes subset of product attributes) together with a next page link.\nUsually product attributes returned in the list are used to build product tiles for Marketplace Gallery.\nNote:note The max number of items returned per page is 100. In specific cases for performance optimization, please contact Microsoft Marketplace team MKPL_Platform_API_DL@microsoft.com", + "properties": { + "items": { + "type": "array", + "description": "The list of returned items", + "items": { + "$ref": "#/definitions/ProductSummary" + } + }, + "nextPageLink": { + "type": "string", + "description": "Link to the next page where request returns more than a single page of results", + "format": "uri" + } + } + }, + "SkuApiResponse": { + "type": "object", + "description": "Response page composed of a list of SKU Summaries together with a next page link", + "properties": { + "items": { + "type": "array", + "description": "The list of returned items", + "items": { + "$ref": "#/definitions/SkuSummary" + } + }, + "nextPageLink": { + "type": "string", + "description": "Link to the next page where request returns more than a single page of results", + "format": "uri" + } + } + }, + "SkuSummary": { + "type": "object", + "description": "Summary description of the SKU", + "properties": { + "productId": { + "type": "string", + "description": "The unique id of the product" + }, + "productDisplayName": { + "type": "string", + "description": "Product display name" + }, + "productDescription": { + "type": "string", + "description": "The product description text" + }, + "serviceFamily": { + "type": "string", + "description": "The service family of the product, such as 'Compute'" + }, + "service": { + "type": "string", + "description": "The service name of the product, such as 'Virtual Machines'" + }, + "publisherId": { + "type": "string", + "description": "Publisher id" + }, + "publisherType": { + "description": "A value indicating whether this is a Microsoft or third party product. Possible values:\n- `Microsoft` - Product is published by Microsoft (1st party product)\n- `Third Party` - Product is published by Third Party Vendor", + "allOf": [ + { + "$ref": "#/definitions/PublisherType" + } + ] + }, + "productType": { + "description": "The delivery method or deployment model. Possible values:\n- `SaaS` - The product is a Software solution purchased on pay-as-you-go basis from a cloud service provider\n- `VirtualMachine` - The product is Image service instances with usage-based pricing\n- `AzureApplication` - Products published as Solution Templates (ST) or Azure Managed Apps (AMA) plans that deploy Azure resources to the customer tenant \n- `DynamicsCE` - All Dynamics products except for DynamicsBC and DynamicsOps\n- `DynamicsBC` - Dynamics 365 business Central \n- `Container` - The product is delivered as Container\n- `DynamicsOps` - Dynamics 365 Operations Apps\n- `None` - Product type returned for Azure Services, Container Extensions and VM extensions\n- `IotEdgeModules` - Resource is delivered as IoT Edge Module\n- `ContainerApps` - Resource is delivered as Container App\n- `ConsultingServices` - Consulting Services (available only in Azure Marketplace as listing offers)\n- `ManagedServices` - The product is delivered as Managed Service\n- `PowerBI` - Power BI products\n- `CosellOnly` - Products available in scope of Co-Sell program only\n- `PowerBIVisuals` - Power BI Visuals products\n- `Office365` - Office 365 products\n- `DevService` - Dev Service\n- `AADApps` - Azure Active Directory Applications\n- `VisualStudioExtension` - Visual Studio Extensions\n- `MicrosoftProduct` - 1st party Azure product", + "allOf": [ + { + "$ref": "#/definitions/ProductType" + } + ] + }, + "productSubType": { + "type": "string", + "description": "Product sub type" + }, + "summary": { + "type": "string", + "description": "Product summary" + }, + "productAttributes": { + "type": "array", + "description": "The product attributes", + "items": { + "$ref": "#/definitions/Attribute" + } + }, + "skuName": { + "type": "string", + "description": "Sku name" + }, + "skuId": { + "type": "string", + "description": "Sku id" + }, + "skuType": { + "type": "string", + "description": "Sku type" + }, + "language": { + "type": "string", + "description": "Language" + }, + "skuDescription": { + "type": "string", + "description": "Sku description localized" + }, + "skuTitle": { + "type": "string", + "description": "Sku title localized" + }, + "lastModifiedDateTime": { + "type": "string", + "description": "Latest update date of the SKU", + "format": "date-time" + }, + "location": { + "type": "string", + "description": "Location (region)" + }, + "armRegionName": { + "type": "string", + "description": "The Arm region name" + }, + "cloud": { + "type": "string", + "description": "The cloud, such as 'Global'" + }, + "locationType": { + "type": "string", + "description": "The location type, such as 'Region'" + }, + "region": { + "type": "string", + "description": "The region" + }, + "skuGroupId": { + "type": "string", + "description": "The sku group id" + }, + "zone": { + "type": "string", + "description": "The zone, such as 'Zone 1'" + }, + "feature": { + "type": "string", + "description": "The feature" + }, + "serviceType": { + "type": "string", + "description": "The service type" + }, + "minQuantity": { + "type": "integer", + "description": "Min quantity", + "format": "int32" + }, + "maxQuantity": { + "type": "integer", + "description": "Max quantity", + "format": "int32" + }, + "cspState": { + "description": "Value showing whether the plan is available for purchase through CSP channel. Possible values: \n- `OptIn` - Plan configured CSP program opt-in for any partner in the CSP Program\n- `Optout` - Plan configured CSP program opt-out\n- `SelectiveOptIn` - Plan configured CSP program opt-in for specific partners in the CSP program ISV selects", + "allOf": [ + { + "$ref": "#/definitions/CspState" + } + ] + }, + "hasRI": { + "type": "boolean", + "description": "Indication whether the SKU supports reservations" + }, + "skuAttributes": { + "type": "array", + "description": "The SKU attributes", + "items": { + "$ref": "#/definitions/Attribute" + } + }, + "skuProperties": { + "description": "The sku properties", + "allOf": [ + { + "$ref": "#/definitions/SkuProperties" + } + ] + }, + "offeringProperties": { + "type": "array", + "description": "SKU price related properties", + "items": { + "$ref": "#/definitions/OfferingProperties" + } + } + } + }, + "ProductSummary": { + "type": "object", + "description": "Returns a subset of Product attributes", + "required": [ + "productType" + ], + "properties": { + "displayName": { + "type": "string", + "description": "Product display name" + }, + "popularity": { + "type": "number", + "description": "Popularity of the product", + "format": "double" + }, + "categoryIds": { + "type": "array", + "description": "Array of product categories, https://docs.microsoft.com/en-us/azure/marketplace/marketplace-categories-industries#categories. Such as 'Productivity'", + "items": { + "type": "string" + } + }, + "industryIds": { + "type": "array", + "description": "List of industry IDs the item belongs to", + "items": { + "type": "string" + } + }, + "publisherId": { + "type": "string", + "description": "Publisher id" + }, + "azureBenefit": { + "description": "Eligibility for Azure consumption commitment benefit (https://docs.microsoft.com/en-us/marketplace/azure-consumption-commitment-benefit). Possible values: \n- `Eligible` - The product is eligible for Azure consumption commitment benefit\n- `NotEligible` - The product is not eligible for Azure consumption commitment benefit", + "allOf": [ + { + "$ref": "#/definitions/AzureBenefit" + } + ] + }, + "badges": { + "type": "array", + "description": "The following product badges are available: preferredSolution, powerBICertified, AdditionalPurchaseRequirement", + "items": { + "$ref": "#/definitions/Badge" + } + }, + "publisherType": { + "description": "A value indicating whether this is a Microsoft or third party product. Possible values:\n- `Microsoft` - Product is published by Microsoft (1st party product)\n- `Third Party` - Product is published by Third Party Vendor", + "allOf": [ + { + "$ref": "#/definitions/PublisherType" + } + ] + }, + "publishingStage": { + "description": "Product publishing stage. Possible values:\n- `Preview` - Product is available to restricted audience\n- `Public` - Product is publicly available in the Marketplace", + "allOf": [ + { + "$ref": "#/definitions/PublishingStage" + } + ] + }, + "uniqueProductId": { + "type": "string", + "description": "Unique product identifier" + }, + "productType": { + "description": "The delivery method or deployment model. Possible values:\n- `SaaS` - The product is a Software solution purchased on pay-as-you-go basis from a cloud service provider\n- `VirtualMachine` - The product is Image service instances with usage-based pricing\n- `AzureApplication` - Products published as Solution Templates (ST) or Azure Managed Apps (AMA) plans that deploy Azure resources to the customer tenant \n- `DynamicsCE` - All Dynamics products except for DynamicsBC and DynamicsOps\n- `DynamicsBC` - Dynamics 365 business Central \n- `Container` - The product is delivered as Container\n- `DynamicsOps` - Dynamics 365 Operations Apps\n- `None` - Product type returned for Azure Services, Container Extensions and VM extensions\n- `IotEdgeModules` - Resource is delivered as IoT Edge Module\n- `ContainerApps` - Resource is delivered as Container App\n- `ConsultingServices` - Consulting Services (available only in Azure Marketplace as listing offers)\n- `ManagedServices` - The product is delivered as Managed Service\n- `PowerBI` - Power BI products\n- `CosellOnly` - Products available in scope of Co-Sell program only\n- `PowerBIVisuals` - Power BI Visuals products\n- `Office365` - Office 365 products\n- `DevService` - Dev Service\n- `AADApps` - Azure Active Directory Applications\n- `VisualStudioExtension` - Visual Studio Extensions\n- `MicrosoftProduct` - 1st party Azure product", + "allOf": [ + { + "$ref": "#/definitions/ProductType" + } + ] + }, + "productSubType": { + "type": "string", + "description": "Product sub type" + }, + "productFamily": { + "type": "string", + "description": "Product Family" + }, + "operatingSystems": { + "type": "array", + "description": "Operating system info for this product", + "items": { + "type": "string" + } + }, + "pricingTypes": { + "type": "array", + "description": "The list of the pricing types for which this offer is designated. Possible Values: \n- `Free` - Product has at least one plan that is free of charge.\n- `FreeTrial` - Product has at least one plan that is free trial.\n- `Byol` - Product has at least one plan that is bring your own license.\n- `Payg` - Product has at least one plan that is Pay as you go, usage based billing model.\n- `Ri` - Product has at least one plan that is Reserved Instance billing model.", + "items": { + "$ref": "#/definitions/PricingType" + } + }, + "publisherDisplayName": { + "type": "string", + "description": "Publisher display name" + }, + "longSummary": { + "type": "string", + "description": "Product long summary" + }, + "summary": { + "type": "string", + "description": "Product summary" + }, + "linkedAddInsTypes": { + "type": "object", + "description": "Linked add-in types", + "additionalProperties": { + "type": "string" + } + }, + "smallIconUri": { + "type": "string", + "description": "URI to the small product icon" + }, + "description": { + "type": "string", + "description": "The product description text" + }, + "cspLegalTermsUri": { + "type": "string", + "description": "The legal terms of the product for the CSP" + }, + "privacyPolicyUri": { + "type": "string", + "description": "The privacy policy of the product" + }, + "ratingBuckets": { + "type": "array", + "description": "Rating buckets, Above1, Above2, Above3, Above4", + "items": { + "$ref": "#/definitions/RatingBucket" + } + }, + "ratingAverage": { + "type": "number", + "description": "Average rating for the offer", + "format": "double" + }, + "ratingCount": { + "type": "integer", + "description": "Total number of ratings for the offer", + "format": "int32" + }, + "startingPrice": { + "description": "Retail price of the product's cheapest plan", + "allOf": [ + { + "$ref": "#/definitions/MarketStartPrice" + } + ] + }, + "plans": { + "type": "array", + "description": "List of plans that are available for this product", + "items": { + "$ref": "#/definitions/PlanSummary" + } + }, + "supportedProducts": { + "type": "array", + "description": "Maps to the list of compatible products that the publisher provides", + "items": { + "type": "string" + } + }, + "applicableProducts": { + "type": "array", + "description": "Product categories the offer belongs to", + "items": { + "type": "string" + } + }, + "lastModifiedDateTime": { + "type": "string", + "description": "Latest update date of the product", + "format": "date-time" + }, + "locations": { + "type": "array", + "description": "List of locations which are available on the SKUs", + "items": { + "type": "string" + } + }, + "serviceFamily": { + "type": "string", + "description": "The service family of the product, such as 'Compute'" + }, + "service": { + "type": "string", + "description": "The service name of the product, such as 'Virtual Machines'" + }, + "productId": { + "type": "string", + "description": "The unique id of the product" + }, + "hasRIPlans": { + "type": "boolean", + "description": "Indication whether the product has plans with reservations" + }, + "hasMarketplaceFootprint": { + "type": "boolean", + "description": "Indication if product has a representation in the marketplace" + }, + "attributes": { + "type": "array", + "description": "Set of products attributes (varies per product type), where each attribute is represented by a pair of key (attribute name) and value(attribute value)", + "items": { + "$ref": "#/definitions/Attribute" + } + } + } + } + }, + "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" + } + } + } +} diff --git a/specification/marketplacecatalog/data-plane/readme.md b/specification/marketplacecatalog/data-plane/readme.md index 758cd7d51bc4..9c867320d654 100644 --- a/specification/marketplacecatalog/data-plane/readme.md +++ b/specification/marketplacecatalog/data-plane/readme.md @@ -64,4 +64,13 @@ These settings apply only when `--tag=package-2023-01-01-preview` is specified o input-file: - Products/preview/2023-01-01-preview/products.json - Search/preview/2023-01-01-preview/search.json - ``` \ No newline at end of file + ``` + + ### 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: + - Products/preview/2023-05-01-preview/products.json +``` \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/AssessedMachines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/AssessedMachines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/AssessedMachines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/AssessedMachines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_ListByGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_ListByGroup.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_ListByGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_ListByGroup.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Assessments_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Assessments_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Groups_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Groups_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Machines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Machines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Machines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Machines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Machines_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Machines_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Machines_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Machines_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Operations_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Operations_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Operations_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_GetKeys.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_GetKeys.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_GetKeys.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_GetKeys.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Update.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Update.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/examples/Projects_Update.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/examples/Projects_Update.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/migrate.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2017-11-11-preview/migrate.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/migrate.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessedMachines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessedMachines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessedMachines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessedMachines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessedMachines_ListByAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessedMachines_ListByAssessment.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessedMachines_ListByAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessedMachines_ListByAssessment.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessmentOptions_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessmentOptions_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/AssessmentOptions_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/AssessmentOptions_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_GetReportDownloadUrl.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_GetReportDownloadUrl.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_GetReportDownloadUrl.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_GetReportDownloadUrl.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_ListByGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_ListByGroup.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_ListByGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_ListByGroup.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Assessments_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Assessments_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Groups_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Groups_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/LocationCheckNameAvailability_AlreadyExists.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/LocationCheckNameAvailability_AlreadyExists.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/LocationCheckNameAvailability_AlreadyExists.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/LocationCheckNameAvailability_Available.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/LocationCheckNameAvailability_Available.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/LocationCheckNameAvailability_Available.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/LocationCheckNameAvailability_Available.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Machines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Machines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Machines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Machines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Machines_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Machines_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Machines_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Machines_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Operations_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Operations_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Operations_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/ProjectsInSubscription_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/ProjectsInSubscription_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/ProjectsInSubscription_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/ProjectsInSubscription_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_GetKeys.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_GetKeys.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_GetKeys.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_GetKeys.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Update.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Update.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/examples/Projects_Update.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/examples/Projects_Update.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/migrate.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2018-02-02/migrate.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/migrate.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessedMachines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessedMachines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessedMachines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessedMachines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessedMachines_ListByAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessedMachines_ListByAssessment.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessedMachines_ListByAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessedMachines_ListByAssessment.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessmentOptions_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessmentOptions_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessmentOptions_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessmentOptions_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessmentOptions_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessmentOptions_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/AssessmentOptions_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/AssessmentOptions_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_GetReportDownloadUrl.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_GetReportDownloadUrl.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_GetReportDownloadUrl.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_GetReportDownloadUrl.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_ListByGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_ListByGroup.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_ListByGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_ListByGroup.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Assessments_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Assessments_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_UpdateMachines.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_UpdateMachines.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_UpdateMachines.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Groups_UpdateMachines.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/HyperVCollectors_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/HyperVCollectors_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ImportCollectors_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ImportCollectors_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Machines_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Machines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Machines_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Machines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Machines_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Machines_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Machines_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Machines_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Operations_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Operations_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Operations_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateEndpointConnections_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateEndpointConnections_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateLinkResources_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateLinkResources_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateLinkResources_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateLinkResources_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateLinkResources_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateLinkResources_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/PrivateLinkResources_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/PrivateLinkResources_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ProjectsInSubscription_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ProjectsInSubscription_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ProjectsInSubscription_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ProjectsInSubscription_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Update.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Update.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Projects_Update.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/Projects_Update.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/ServerCollectors_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/ServerCollectors_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/VMwareCollectors_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/examples/VMwareCollectors_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/migrate.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json rename to specification/migrate/resource-manager/Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/migrate.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/Operations_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/Operations_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/Operations_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnection_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnection_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnection_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnection_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateEndpointConnections_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateEndpointConnections_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateLinkResources_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateLinkResources_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateLinkResources_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateLinkResources_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateLinkResources_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateLinkResources_ListByProject.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/PrivateLinkResources_ListByProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/PrivateLinkResources_ListByProject.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Create.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Create.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Delete.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Delete.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Get.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Get.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Patch.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Patch.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProject_Patch.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProject_Patch.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProjectsInSubscription_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProjectsInSubscription_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProjectsInSubscription_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProjectsInSubscription_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProjects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProjects_List.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/examples/migrateProjects_List.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/examples/migrateProjects_List.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/hubmigrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/hubmigrate.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/stable/2020-05-01/hubmigrate.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MigrateProjects/stable/2020-05-01/hubmigrate.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/DeployedResource_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/DeployedResource_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgentOperationStatus_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Create_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Create_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Create_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Create_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Create_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Create_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Create_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Create_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Delete_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/MigrateAgent_Refresh_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectOperationStatus_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProjectStatistics_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Create_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Create_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Create_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Create_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Create_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Create_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Create_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Create_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Delete_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_ListBySubscription_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Update_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Update_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Update_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Update_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Update_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Update_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/ModernizeProject_Update_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/ModernizeProject_Update_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Operations_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Operations_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Operations_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Operations_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Operations_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Operations_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Operations_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Operations_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkflowOperationStatus_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/Workflow_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/Workflow_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeploymentOperationStatus_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_BuildContainerImage_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Create_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Delete_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_GetSecretConfigurations_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_Migrate_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrateCleanup_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadDeployment_TestMigrate_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstanceOperationStatus_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Create_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Delete_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_Get_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_List_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_List_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_List_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_List_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_List_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_List_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_List_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_List_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_MigrateComplete_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MaximumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MaximumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MaximumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MaximumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MinimumSet_Gen.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MinimumSet_Gen.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MinimumSet_Gen.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/examples/WorkloadInstance_StopReplicate_MinimumSet_Gen.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/migrateEngine.json b/specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/migrateEngine.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/preview/2022-05-01-preview/migrateEngine.json rename to specification/migrate/resource-manager/Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/migrateEngine.json diff --git a/specification/migrate/resource-manager/readme.md b/specification/migrate/resource-manager/readme.md index b4d05c7be947..0e8cb1678d59 100644 --- a/specification/migrate/resource-manager/readme.md +++ b/specification/migrate/resource-manager/readme.md @@ -11,8 +11,9 @@ This is the AutoRest configuration file for Azure Migrate. ``` yaml $(java) && $(multiapi) batch: - tag: package-migrate-2018-02 + - tag: package-migrate-2019-10 + - tag: package-migrate-2017-11 - tag: package-migrate-2020-01 - - tag: package-migrate-2020-05 - tag: package-migrate-2020-07 - tag: package-hubmigrate-2020-05 - tag: package-migrateengine-2022-05 @@ -20,7 +21,7 @@ batch: ### Tag: package-migrate-2018-02 and java -These settings apply only when `--tag=package-2018-02 --java` is specified on the command line. +These settings apply only when `--tag=package-migrate-2018-02 --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. ``` yaml $(tag) == 'package-migrate-2018-02' && $(java) && $(multiapi) @@ -31,28 +32,41 @@ regenerate-manager: true generate-interface: true ``` -### Tag: package-migrate-2020-01 and java +### Tag: package-migrate-2019-10 and java -These settings apply only when `--tag=package-migrate-2020-01 --java` is specified on the command line. +These settings apply only when `--tag=package-migrate-2019-10 --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-migrate-2020-01' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-migrate-2019-10' && $(java) && $(multiapi) java: - namespace: com.microsoft.azure.management.azuremigrate.v2020_01_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/azuremigrate/mgmt-v2020_01_01 + namespace: com.microsoft.azure.management.azuremigrate.v2019_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/azuremigrate/mgmt-v2019_10_01 regenerate-manager: true generate-interface: true ``` -### Tag: package-migrate-2020-05 and java +### Tag: package-migrate-2017-11 and java -These settings apply only when `--tag=package-migrate-2020-05 --java` is specified on the command line. +These settings apply only when `--tag=package-migrate-2017-11 --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-migrate-2020-05' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-migrate-2017-11' && $(java) && $(multiapi) java: - namespace: com.microsoft.azure.management.azuremigrate.v2020_05_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/azuremigrate/mgmt-v2020_05_01 + namespace: com.microsoft.azure.management.azuremigrate.v2017_11_11 + output-folder: $(azure-libraries-for-java-folder)/sdk/azuremigrate/mgmt-v2017_11_11 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-migrate-2020-01 and java + +These settings apply only when `--tag=package-migrate-2020-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-migrate-2020-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.azuremigrate.v2020_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/azuremigrate/mgmt-v2020_01_01 regenerate-manager: true generate-interface: true ``` @@ -125,7 +139,7 @@ These settings apply only when `--tag=package-migrate-2018-02` is specified on t ``` yaml $(tag) == 'package-migrate-2018-02' input-file: -- Microsoft.Migrate/stable/2018-02-02/migrate.json +- Microsoft.Migrate/AssessmentProjects/stable/2018-02-02/migrate.json ``` ### Tag: package-migrate-2019-10 @@ -134,25 +148,25 @@ These settings apply only when `--tag=package-migrate-2019-10` is specified on t ``` yaml $(tag) == 'package-migrate-2019-10' input-file: -- Microsoft.Migrate/stable/2019-10-01/migrate.json +- Microsoft.Migrate/AssessmentProjects/stable/2019-10-01/migrate.json ``` -### Tag: package-migrate-2020-01 +### Tag: package-migrate-2017-11 -These settings apply only when `--tag=package-migrate-2020-01` is specified on the command line. +These settings apply only when `--tag=package-migrate-2017-11` is specified on the command line. -``` yaml $(tag) == 'package-migrate-2020-01' +``` yaml $(tag) == 'package-migrate-2017-11' input-file: -- Microsoft.OffAzure/stable/2020-01-01/migrate.json +- Microsoft.Migrate/AssessmentProjects/preview/2017-11-11-preview/migrate.json ``` -### Tag: package-hubmigrate-2020-05 +### Tag: package-migrate-2020-01 -These settings apply only when `--tag=package-hubmigrate-2020-05` is specified on the command line. +These settings apply only when `--tag=package-migrate-2020-01` is specified on the command line. -``` yaml $(tag) == 'package-hubmigrate-2020-05' +``` yaml $(tag) == 'package-migrate-2020-01' input-file: -- Microsoft.Migrate/stable/2020-05-01/hubmigrate.json +- Microsoft.OffAzure/stable/2020-01-01/migrate.json ``` ### Tag: package-migrate-2020-07 @@ -164,13 +178,22 @@ input-file: - Microsoft.OffAzure/stable/2020-07-07/migrate.json ``` +### Tag: package-hubmigrate-2020-05 + +These settings apply only when `--tag=package-hubmigrate-2020-05` is specified on the command line. + +``` yaml $(tag) == 'package-hubmigrate-2020-05' +input-file: +- Microsoft.Migrate/MigrateProjects/stable/2020-05-01/hubmigrate.json +``` + ### Tag: package-migrateengine-2022-05 These settings apply only when `--tag=package-migrateengine-2022-05` is specified on the command line. ``` yaml $(tag) == 'package-migrateengine-2022-05' input-file: -- Microsoft.Migrate/preview/2022-05-01-preview/migrateEngine.json +- Microsoft.Migrate/MordernizeProjects/preview/2022-05-01-preview/migrateEngine.json ``` ## Suppression diff --git a/specification/mobilenetwork/resource-manager/readme.go.md b/specification/mobilenetwork/resource-manager/readme.go.md index 18de44ea839f..ebd10f7fd8b0 100644 --- a/specification/mobilenetwork/resource-manager/readme.go.md +++ b/specification/mobilenetwork/resource-manager/readme.go.md @@ -8,4 +8,25 @@ module-name: sdk/resourcemanager/mobilenetwork/armmobilenetwork module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true +directive: + - where-operation: PacketCoreControlPlaneVersions_GetBySubscription + transform: > + $.parameters[1] = { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid", + "description": "The ID of the target subscription. The value must be an UUID." + }; + - where-operation: PacketCoreControlPlaneVersions_ListBySubscription + transform: > + $.parameters[0] = { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid", + "description": "The ID of the target subscription. The value must be an UUID." + }; ``` diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index a5cc6f72f820..c72970b3215a 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -9,8 +9,7 @@ license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-monitor no-namespace-folders: true package-version: 1.0.0b1 -python-base-namespace: azure.mgmt.monitor -python-base-folder: monitor/azure-mgmt-monitor/azure/mgmt/monitor +namespace: azure.mgmt.monitor ``` ### Python multi-api @@ -71,8 +70,8 @@ These settings apply only when `--tag=package-2023-03-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2023-03-01-preview-only' -namespace: $(python-base-namespace).v2023_03_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2023_03_01_preview +namespace: azure.mgmt.monitor.v2023_03_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2023_03_01_preview ``` ### Tag: package-2023-01-only and python @@ -81,8 +80,8 @@ These settings apply only when `--tag=package-2023-01-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2023-01-only' -namespace: $(python-base-namespace).v2023_01_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2023_01_01 +namespace: azure.mgmt.monitor.v2023_01_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2023_01_01 ``` ### Tag: package-2022-10-01-only and python @@ -91,8 +90,8 @@ These settings apply only when `--tag=package-2022-10-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2022-10-01-only' -namespace: $(python-base-namespace).v2022_10_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_10_01 +namespace: azure.mgmt.monitor.v2022_10_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2022_10_01 ``` ### Tag: package-2022-08-01-preview-only and python @@ -101,8 +100,8 @@ These settings apply only when `package-2022-08-01-preview-only --python` is spe Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2022-08-01-preview-only' -namespace: $(python-base-namespace).v2022_08_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_08_01_preview +namespace: azure.mgmt.monitor.v2022_08_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2022_08_01_preview ``` ### Tag: package-2022-06-01-only and python @@ -111,8 +110,8 @@ These settings apply only when `--tag=package-2022-06-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2022-06-01-only' -namespace: $(python-base-namespace).v2022_06_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_06_01 +namespace: azure.mgmt.monitor.v2022_06_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2022_06_01 ``` ### Tag: package-2022-04-01-only and python @@ -121,8 +120,8 @@ These settings apply only when `--tag=package-2022-04-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2022-04-01-only' -namespace: $(python-base-namespace).v2022_04_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_04_01 +namespace: azure.mgmt.monitor.v2022_04_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2022_04_01 ``` ### Tag: package-2022-02-01-preview-only and python @@ -131,8 +130,8 @@ These settings apply only when `--tag=package-2022-02-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2022-02-01-preview-only' -namespace: $(python-base-namespace).v2022_02_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_02_01_preview +namespace: azure.mgmt.monitor.v2022_02_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2022_02_01_preview ``` ### Tag: package-2021-09-01-only and python @@ -141,8 +140,8 @@ These settings apply only when `--tag=package-2021-09-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-09-01-only' -namespace: $(python-base-namespace).v2021_09_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_09_01 +namespace: azure.mgmt.monitor.v2021_09_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_09_01 ``` ### Tag: package-2021-07-01-preview-only and python @@ -151,16 +150,16 @@ These settings apply only when `--tag=package-2021-07-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-07-01-preview-only' -namespace: $(python-base-namespace).v2021_07_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_07_01_preview +namespace: azure.mgmt.monitor.v2021_07_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_07_01_preview ``` ### Tag: package-2021-06-03-preview-only and python These settings apply only when `--tag=package-2021-06-03-preview-only --python` is specified on the command line. Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-06-03-preview-only' -namespace: $(python-base-namespace).v2021_06_03_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_06_03_preview +namespace: azure.mgmt.monitor.v2021_06_03_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_06_03_preview ``` ### Tag: package-2021-05-only and python @@ -169,8 +168,8 @@ These settings apply only when `--tag=package-2021-05-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-05-only' -namespace: $(python-base-namespace).v2021_05_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_05_01 +namespace: azure.mgmt.monitor.v2021_05_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_05_01 ``` ### Tag: package-2021-05-01-preview-only and python @@ -179,8 +178,8 @@ These settings apply only when `--tag=package-2021-05-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-05-01-preview-only' -namespace: $(python-base-namespace).v2021_05_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_05_01_preview +namespace: azure.mgmt.monitor.v2021_05_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_05_01_preview ``` ### Tag: package-2021-04-only and python @@ -189,8 +188,8 @@ These settings apply only when `--tag=package-2021-04-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2021-04-only' -namespace: $(python-base-namespace).v2021_04_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_04_01 +namespace: azure.mgmt.monitor.v2021_04_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2021_04_01 ``` ### Tag: package-2020-10-only and python @@ -199,8 +198,8 @@ These settings apply only when `--tag=package-2020-10-only --python` is specifie Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2020-10-only' -namespace: $(python-base-namespace).v2020_10_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_10_01 +namespace: azure.mgmt.monitor.v2020_10_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2020_10_01 ``` ### Tag: package-2020-05-preview-only and python @@ -209,8 +208,8 @@ These settings apply only when `--tag=package-2020-05-preview-only --python` is Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2020-05-preview-only' -namespace: $(python-base-namespace).v2020_05_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview +namespace: azure.mgmt.monitor.v2020_05_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2020_05_01_preview ``` ### Tag: package-2020-01-01-preview-only and python @@ -219,8 +218,8 @@ These settings apply only when `--tag=package-2020-01-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2020-01-01-preview-only' -namespace: $(python-base-namespace).v2020_01_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_01_01_preview +namespace: azure.mgmt.monitor.v2020_01_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2020_01_01_preview ``` ### Tag: package-2019-11-01-preview-only and python @@ -229,8 +228,8 @@ These settings apply only when `--tag=package-2019-11-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2019-11-01-preview-only' -namespace: $(python-base-namespace).v2019_11_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_11_01_preview +namespace: azure.mgmt.monitor.v2019_11_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2019_11_01_preview ``` ### Tag: package-2019-10-17-preview-only and python @@ -239,8 +238,8 @@ These settings apply only when `--tag=package-2019-10-17-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2019-10-17-preview-only' -namespace: $(python-base-namespace).v2019_10_17 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_10_17 +namespace: azure.mgmt.monitor.v2019_10_17 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2019_10_17 ``` ### Tag: package-2019-06-01-only and python @@ -249,8 +248,8 @@ These settings apply only when `--tag=package-2019-06-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2019-06-01-only' -namespace: $(python-base-namespace).v2019_06_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_06_01 +namespace: azure.mgmt.monitor.v2019_06_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2019_06_01 ``` ### Tag: package-2019-03-01-only and python @@ -258,8 +257,8 @@ These settings apply only when `--tag=package-2019-03-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2019-03-01-only' -namespace: $(python-base-namespace).v2019_03_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_03_01 +namespace: azure.mgmt.monitor.v2019_03_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2019_03_01 ``` ### Tag: package-2018-11-27-preview-only and python @@ -268,8 +267,8 @@ These settings apply only when `--tag=package-2018-11-27-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-11-27-preview-only' -namespace: $(python-base-namespace).v2018_11_27_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_11_27_preview +namespace: azure.mgmt.monitor.v2018_11_27_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_11_27_preview ``` ### Tag: package-2018-09-01-python-only and python @@ -278,8 +277,8 @@ These settings apply only when `--tag=package-2018-09-01-python-only --python` i Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-09-01-python-only' -namespace: $(python-base-namespace).v2018_09_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_09_01 +namespace: azure.mgmt.monitor.v2018_09_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_09_01 ``` ### Tag: package-2018-06-01-preview-only and python @@ -288,8 +287,8 @@ These settings apply only when `--tag=package-2018-06-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-06-01-preview-only' -namespace: $(python-base-namespace).v2018_06_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_06_01_preview +namespace: azure.mgmt.monitor.v2018_06_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_06_01_preview ``` ### Tag: package-2018-04-16-only and python @@ -298,8 +297,8 @@ These settings apply only when `--tag=package-2018-04-16-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-04-16-only' -namespace: $(python-base-namespace).v2018_04_16 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_04_16 +namespace: azure.mgmt.monitor.v2018_04_16 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_04_16 ``` ### Tag: package-2018-03-01-only and python @@ -308,8 +307,8 @@ These settings apply only when `--tag=package-2018-03-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-03-01-only' -namespace: $(python-base-namespace).v2018_03_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_03_01 +namespace: azure.mgmt.monitor.v2018_03_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_03_01 ``` ### Tag: package-2018-01-01-only and python @@ -318,8 +317,8 @@ These settings apply only when `--tag=package-2018-01-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2018-01-01-only' -namespace: $(python-base-namespace).v2018_01_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2018_01_01 +namespace: azure.mgmt.monitor.v2018_01_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2018_01_01 ``` ### Tag: package-2017-12-01-preview-only and python @@ -328,8 +327,8 @@ These settings apply only when `--tag=package-2017-12-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2017-12-01-preview-only' -namespace: $(python-base-namespace).v2017_12_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_12_01_preview +namespace: azure.mgmt.monitor.v2017_12_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2017_12_01_preview ``` ### Tag: package-2017-05-01-preview-only and python @@ -338,8 +337,8 @@ These settings apply only when `--tag=package-2017-05-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2017-05-01-preview-only' -namespace: $(python-base-namespace).v2017_05_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_05_01_preview +namespace: azure.mgmt.monitor.v2017_05_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2017_05_01_preview ``` ### Tag: package-2017-04-01-only and python @@ -348,8 +347,8 @@ These settings apply only when `--tag=package-2017-04-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2017-04-01-only' -namespace: $(python-base-namespace).v2017_04_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_04_01 +namespace: azure.mgmt.monitor.v2017_04_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2017_04_01 ``` ### Tag: package-2017-03-01-preview-only and python @@ -358,8 +357,8 @@ These settings apply only when `--tag=package-2017-03-01-preview-only --python` Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2017-03-01-preview-only' -namespace: $(python-base-namespace).v2017_03_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_03_01_preview +namespace: azure.mgmt.monitor.v2017_03_01_preview +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2017_03_01_preview ``` ### Tag: package-2016-09-01-only and python @@ -368,8 +367,8 @@ These settings apply only when `--tag=package-2016-09-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2016-09-01-only' -namespace: $(python-base-namespace).v2016_09_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2016_09_01 +namespace: azure.mgmt.monitor.v2016_09_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2016_09_01 ``` ### Tag: package-2016-03-01-only and python @@ -378,8 +377,8 @@ These settings apply only when `--tag=package-2016-03-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2016-03-01-only' -namespace: $(python-base-namespace).v2016_03_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2016_03_01 +namespace: azure.mgmt.monitor.v2016_03_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2016_03_01 ``` ### Tag: package-2015-07-01-python-only and python @@ -388,8 +387,8 @@ These settings apply only when `--tag=package-2015-07-01-python-only --python` i Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2015-07-01-python-only' -namespace: $(python-base-namespace).v2015_07_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2015_07_01 +namespace: azure.mgmt.monitor.v2015_07_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2015_07_01 ``` ### Tag: package-2015-04-01-python-only and python @@ -398,8 +397,8 @@ These settings apply only when `--tag=package-2015-04-01-python-only --python` i Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2015-04-01-python-only' -namespace: $(python-base-namespace).v2015_04_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2015_04_01 +namespace: azure.mgmt.monitor.v2015_04_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2015_04_01 ``` ### Tag: package-2014-04-01-only and python @@ -408,6 +407,6 @@ These settings apply only when `--tag=package-2014-04-01-only --python` is speci Please also specify `--python-sdks-folder=`. ``` yaml $(tag) == 'package-2014-04-01-only' -namespace: $(python-base-namespace).v2014_04_01 -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2014_04_01 +namespace: azure.mgmt.monitor.v2014_04_01 +output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/v2014_04_01 ``` diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateEndpointConnections.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateEndpointConnections.json new file mode 100644 index 000000000000..cd2c12ee5efa --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateEndpointConnections.json @@ -0,0 +1,275 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-30", + "title": "MySQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations." + }, + "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.DBforMySQL/flexibleServers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionGet.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/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully update the private endpoint connection by approving, rejecting or disconnecting it.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/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": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a server.", + "operationId": "PrivateEndpointConnections_ListByServer", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a server.": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + } + } + } + }, + "definitions": { + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateLinkResources.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateLinkResources.json new file mode 100644 index 000000000000..dbc9acf8af96 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/PrivateLink/stable/2023-06-30/PrivateLinkResources.json @@ -0,0 +1,130 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-06-30", + "title": "MySQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations." + }, + "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.DBforMySQL/flexibleServers/{serverName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Lists the private link resources for MySQL server.", + "operationId": "PrivateLinkResources_ListByServer", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets private link resources for MySQL.": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets a private link resource for MySQL server.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "type": "string", + "pattern": "^[a-z0-9][-a-z0-9]*(?://:." + }, + "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." + } + }, + "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 + } + }, + "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-04-01/applicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/applicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..bce3e0e04778 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..896a552c8e5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/availableDelegations.json new file mode 100644 index 000000000000..3a98dbf33d0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/availableServiceAliases.json new file mode 100644 index 000000000000..dba2a063826c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/azureFirewall.json new file mode 100644 index 000000000000..e15355a44259 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..fafa2c8498c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/azureWebCategory.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/azureWebCategory.json new file mode 100644 index 000000000000..135ccc8a40c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/bastionHost.json new file mode 100644 index 000000000000..49b1e758850a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/bastionHost.json @@ -0,0 +1,985 @@ +{ + "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-04-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" + } + }, + "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" + } + } + }, + "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" + } + }, + "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}/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" + ], + "default": "Standard", + "x-ms-enum": { + "name": "BastionHostSkuName", + "modelAsString": true + } + } + }, + "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." + }, + "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." + }, + "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 all the Bastion Shareable Link endpoints." + }, + "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 all the Bastion Shareable Link endpoints.", + "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-04-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/checkDnsAvailability.json new file mode 100644 index 000000000000..3e338d8dc953 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/cloudServiceNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/cloudServiceNetworkInterface.json new file mode 100644 index 000000000000..e76396b41a17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/cloudServicePublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/cloudServicePublicIpAddress.json new file mode 100644 index 000000000000..ec8bcaf2f73f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/cloudServiceSwap.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/cloudServiceSwap.json new file mode 100644 index 000000000000..29a3f6671e2b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/customIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/customIpPrefix.json new file mode 100644 index 000000000000..f4697f97a086 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..d6c62ad4ff05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/ddosCustomPolicy.json @@ -0,0 +1,304 @@ +{ + "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-04-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." + }, + "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-04-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..125c8bcd71cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/dscpConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/dscpConfiguration.json new file mode 100644 index 000000000000..a901b90c2c4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/endpointService.json new file mode 100644 index 000000000000..4726314bc69f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..95c41f318029 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..ca96815f473d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..cb435b5893b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..d238324811bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..e6a2f583f0d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..bc22506ad127 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..2dbad1efd901 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..62b7d5ce779e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..d6e2d6fd7444 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..2add6ccbc47a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,778 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..fce78609a908 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..aed4cb28f06b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,389 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..c0d539ca585d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayList.json @@ -0,0 +1,392 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..41522f3fabf1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,391 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..caabe7ed808d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..2243986ce959 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..5051b150a3c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..e0a23559576a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..2f81ac6f6398 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..05af42a0940d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..05af42a0940d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..524e3df73d2f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..a65ec719f0fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..eafb972fc37d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..e471ec235914 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..a4ad28b17631 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..af7ddf8dc6fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..cdab9dfa76d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..7b36d35543fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..b8ad4da52c81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..6b347cd7985e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..1df1996a3a28 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..ec0f95ecbc25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..6c3c17bf5d96 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..bae754f05cec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..0eebd693f681 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..c0d6f48f8044 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..1c301d4bf211 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..74cd3b007669 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..b0c9f6b89b4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..ab80ab9fd4ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..aa1985bc539d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..bff2ded76323 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..75a8453ead82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..85c6726729bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallListLearnedIPPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListLearnedIPPrefixes.json new file mode 100644 index 000000000000..ebe8df9f28ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallListLearnedIPPrefixes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPacketCapture.json new file mode 100644 index 000000000000..27a7e48da3aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPacketCapture.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..dd59104aa8b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..de5962e499e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..ae8882c0b7f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..239def47795d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..d701dc0afb61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..30b2addf5d3c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..a597e46adcac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureWebCategoriesListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureWebCategoriesListBySubscription.json new file mode 100644 index 000000000000..a62551433ef8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureWebCategoriesListBySubscription.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/AzureWebCategoryGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureWebCategoryGet.json new file mode 100644 index 000000000000..4b8a6e7502f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/AzureWebCategoryGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..fcb2c1063821 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..e8db54ba19c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostGet.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-04-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" + }, + "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-04-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..b82afeb8685d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-04-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" + }, + "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-04-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..f8a5ce412e20 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-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" + }, + "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-04-01/examples/BastionHostPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostPatch.json new file mode 100644 index 000000000000..eb176f8fc31a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostPatch.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..a9dc7278c2ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionHostPut.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "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-04-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..dee501b4aa30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..28d022076292 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionSessionsList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..d968dbd1f75a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-04-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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..fd02569bd080 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..51dcf966dea2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..ba7592251252 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckPrivateLinkServiceVisibility.json new file mode 100644 index 000000000000..fb74c981fc01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json new file mode 100644 index 000000000000..1fde02b2bd40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServiceNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceNetworkInterfaceGet.json new file mode 100644 index 000000000000..b244cabe6011 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceNetworkInterfaceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServiceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceNetworkInterfaceList.json new file mode 100644 index 000000000000..934a70b69fcb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceNetworkInterfaceList.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServicePublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServicePublicIpGet.json new file mode 100644 index 000000000000..02fbd2579b32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServicePublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-04-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-04-01/examples/CloudServicePublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServicePublicIpListAll.json new file mode 100644 index 000000000000..bad7fcb9c5e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServicePublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-04-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-04-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json new file mode 100644 index 000000000000..ca4b9810d497 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServiceRoleInstancePublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceRoleInstancePublicIpList.json new file mode 100644 index 000000000000..98f91fa3e32a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceRoleInstancePublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2023-04-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-04-01/examples/CloudServiceSwapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapGet.json new file mode 100644 index 000000000000..ad71bd14bd05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServiceSwapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapList.json new file mode 100644 index 000000000000..d7e1d20c377e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CloudServiceSwapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapPut.json new file mode 100644 index 000000000000..2401f415c6aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CloudServiceSwapPut.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ConfigurationPolicyGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupDelete.json new file mode 100644 index 000000000000..e6686d0ecd28 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupGet.json new file mode 100644 index 000000000000..4382ef91560d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json new file mode 100644 index 000000000000..6cc5e4583078 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "api-version": "2023-04-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-04-01/examples/ConfigurationPolicyGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupPut.json new file mode 100644 index 000000000000..4c79101b8640 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ConfigurationPolicyGroupPut.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/CustomIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..9e01a3c3d234 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixCreateCustomizedValues.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CustomIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixDelete.json new file mode 100644 index 000000000000..85d460cb50ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixGet.json new file mode 100644 index 000000000000..c96124dea42e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CustomIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixList.json new file mode 100644 index 000000000000..41684367fe0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixList.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CustomIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixListAll.json new file mode 100644 index 000000000000..360d088af378 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixListAll.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/CustomIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixUpdateTags.json new file mode 100644 index 000000000000..9a21cf5f055a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/CustomIpPrefixUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..97beaa59d3bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..60784dadf878 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..7b3c4a2b23c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..b60072a3c264 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..50c48231219e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..cc444d36669a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..5740d95e3a85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..23471cbc36f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..bd82d38ad9dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..8c6c7bd23586 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..b1e5fffb5ec0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..943f1a40466d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/DscpConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationCreate.json new file mode 100644 index 000000000000..9713818edf12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationCreate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DscpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationDelete.json new file mode 100644 index 000000000000..e33bca884c0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationGet.json new file mode 100644 index 000000000000..2626f75736d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DscpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationList.json new file mode 100644 index 000000000000..574adfe0c939 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationList.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/DscpConfigurationListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationListAll.json new file mode 100644 index 000000000000..9493819c5ced --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/DscpConfigurationListAll.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..46ac515ed3c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..122754b09e57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..482b0034ff9f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..8ea5a056a306 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..d452c24ddee5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..9af4fe182e35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..a6bcca427214 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..3f2d2e1ecc37 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..2e3e402e2988 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..d5c62fd6f813 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..8949567673c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..d10358377730 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..122a9cd4f2a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..a1bc4301bfcb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..c466acd235e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..4f6447b2539f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..e9062d083b98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..62750accc027 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..890bf2d7e399 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..57b9de2d7e25 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..1f32642f5aca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..d91067333b3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..e3f352b3dfdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..d0725be3250c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..b297f0d10430 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..1396f94a6397 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..2313a14b82d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..92f1bd258c49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..0cf15a140c4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..dead87917289 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..2bf3fbc1d8ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..32aeaf3bcdf7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..df0c5d118a67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..f8608e5d3386 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..fcca2d7b188f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..5e0c66616c60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..d0f134dd8840 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..638ba0eb0d44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..e374727bb559 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..c04cd2c4b97b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..2b4cd4b09b8d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..126e0844ab3f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..d9abcb1f3524 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-04-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-04-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..6d208baea441 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2023-04-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-04-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..274c6bb1a8a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..247ca9c981d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..4daaa55f8bab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..4443e8f972b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..ac9e8e20d08b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ExpressRouteGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayUpdateTags.json new file mode 100644 index 000000000000..5bb0af1bd5a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteGatewayUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2023-04-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-04-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..14ddc45f25f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..16a5d9a528e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationCreate.json new file mode 100644 index 000000000000..ff350b019974 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationDelete.json new file mode 100644 index 000000000000..e34297e3b464 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationGet.json new file mode 100644 index 000000000000..533cfd0ab0d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationList.json new file mode 100644 index 000000000000..eb744d79842f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortAuthorizationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..f86232760605 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..b423f8c04021 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..ebc09e491ef4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..3baf4deee0ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortList.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..eff279beb80c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..3a85f48c9771 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..2c91ad6df9a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..ab22129e7ac8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..948a79c6d6b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..b12f1db4f9cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..103e73efcebb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..c4b3f96b58bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyGet.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2023-04-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": { + "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-04-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..e9db7142ea36 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..1286cad0062d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json new file mode 100644 index 000000000000..621bf4bd865a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json new file mode 100644 index 000000000000..4793a09baf02 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyPatch.json new file mode 100644 index 000000000000..b0a81259e422 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyPatch.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..962c743a829f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyPut.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2023-04-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", + "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": { + "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", + "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": { + "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", + "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-04-01/examples/FirewallPolicyQuerySignatureOverrides.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyQuerySignatureOverrides.json new file mode 100644 index 000000000000..3c34ada02cd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyQuerySignatureOverrides.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json new file mode 100644 index 000000000000..b882ad6477a8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..016fb36a7647 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..8c17985752ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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": 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-04-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..d2591ffcb13d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..b634696bbe8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2023-04-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": { + "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": { + "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-04-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json new file mode 100644 index 000000000000..603d392f5851 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2023-04-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 HTTP header rule", + "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": "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/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": "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-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..1cf130906835 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..de00e21a920f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..e8f8154ba918 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json new file mode 100644 index 000000000000..dd94a7a22c98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json new file mode 100644 index 000000000000..4d08cc21a98c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json new file mode 100644 index 000000000000..ad85ca2242e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicySignatureOverridesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesGet.json new file mode 100644 index 000000000000..483c233e981b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicySignatureOverridesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesList.json new file mode 100644 index 000000000000..6ee9821cfea9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicySignatureOverridesPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesPatch.json new file mode 100644 index 000000000000..d25e6bf555e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesPatch.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/FirewallPolicySignatureOverridesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesPut.json new file mode 100644 index 000000000000..d25e6bf555e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/FirewallPolicySignatureOverridesPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/GenerateExpressRoutePortsLOA.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GenerateExpressRoutePortsLOA.json new file mode 100644 index 000000000000..befde203674b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GenerateExpressRoutePortsLOA.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-04-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-04-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..18dc11341c4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/GetApplicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetApplicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..d43626f03a9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json new file mode 100644 index 000000000000..1cc8e34e1230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/GetInboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetInboundRoutes.json new file mode 100644 index 000000000000..567b3a8de5b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetInboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/GetOutboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetOutboundRoutes.json new file mode 100644 index 000000000000..cd67d19da814 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetOutboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..462f4ce3f5e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..835df0f9a120 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..5cf3d3ad4565 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..dc909b1af9b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..82e132cfee62 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..99bddfcff3f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..296705087c91 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..4afb172edc02 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..c69398aed9e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..5883a2580d74 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..be4239de7824 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..87acd1c562aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..71b992e0483b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..0d7082351e22 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..1aaf99069083 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..c5b339cc3ff4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..10cbfea8f694 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..b603094d103e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..5a5599a0a286 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..f828bf98d0b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..fc4ae3fd8051 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..623d7917d74c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..117b7974b7f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..99fd823be29c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..a2987c225e4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..5154a391083f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2023-04-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-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..42f62cde0099 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-04-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-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..f78f5a357f89 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-04-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-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..1f43274e3cbc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-04-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-04-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..b36c391a6b89 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-04-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-04-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..34be05fc0445 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2023-04-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-04-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..50b1e8451c03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..f76cde350067 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreate.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..2c89b7cbf4c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json new file mode 100644 index 000000000000..8c1b6e47cb33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json @@ -0,0 +1,333 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Premium" + }, + "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": "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", + "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": "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" + } + ] + } + } + ], + "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-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json new file mode 100644 index 000000000000..4f9f8155861a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json @@ -0,0 +1,364 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Premium" + }, + "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": "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-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": "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" + } + ] + } + } + ], + "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-04-01/examples/LoadBalancerCreateGlobalTier.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGlobalTier.json new file mode 100644 index 000000000000..c5071bc41b4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateGlobalTier.json @@ -0,0 +1,317 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..c4cedb8d68a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..6f35532e82ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..f0cb9c4fac1d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,426 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json new file mode 100644 index 000000000000..27ec93556551 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json @@ -0,0 +1,355 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..17c054733e46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..34b20755b5cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..8722e0a0fa87 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2023-04-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-04-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..afe7b2d1dc41 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2023-04-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-04-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..4657f7fd36d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerGet.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerGetInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerGetInboundNatRulePortMapping.json new file mode 100644 index 000000000000..4d4cc02515ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerGetInboundNatRulePortMapping.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..9a4bac604933 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerList.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..43d9eb04aaa2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerListAll.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..3d80645f4d3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2023-04-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-04-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..d82f059aaef0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2023-04-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-04-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..fcbd873f3ce9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-04-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-04-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..1d1a8c8cfe50 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-04-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-04-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..aca29d2cfeb2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2023-04-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-04-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..0d18454950cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2023-04-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-04-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..3c877f0e0e5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2023-04-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-04-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..cfaef44c6f8b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2023-04-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-04-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..b5f83d9159da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LoadBalancersSwapPublicIpAddresses.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancersSwapPublicIpAddresses.json new file mode 100644 index 000000000000..1aa30016655d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LoadBalancersSwapPublicIpAddresses.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..0fca98da1f18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..4f3f5d93cd8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..787aa8671848 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..db6184741238 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..66e2a54feb7d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/MigrateLoadBalancerToIPBased.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/MigrateLoadBalancerToIPBased.json new file mode 100644 index 000000000000..793d1f3be57d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/MigrateLoadBalancerToIPBased.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..3e657dfc1297 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..1d6b5b93d346 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..ca3744ab2317 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..1e82567e3639 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..c047e4a0a38b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..8b1b720e04b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleDelete.json new file mode 100644 index 000000000000..d68e0dde2502 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleGet.json new file mode 100644 index 000000000000..2aa30b191232 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/NatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleList.json new file mode 100644 index 000000000000..ddd403cdaba8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRuleList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-04-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-04-01/examples/NatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRulePut.json new file mode 100644 index 000000000000..e4f7904be999 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NatRulePut.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..d863b09caa69 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..5d238d59a476 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..3dae8dd7795a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..a20d50aeb33f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..6fcf9d10731e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..1c3751f4d05b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..b1c1f355b387 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..ab0589b96e70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..b3932418ae4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceList.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..e5663367232e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..f6dbe289b43e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..44aa788508e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..5871275f4cde --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..5343f1f58f2e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..b939e8883b68 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..f080c6db559e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..019435de402c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json @@ -0,0 +1,59 @@ +{ + "title": "Get Azure Virtual Network Manager Active Connectivity Configuration", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerActiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerActiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..0789f0dbcf2a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerActiveSecurityAdminRulesList.json @@ -0,0 +1,73 @@ +{ + "title": "Get Azure Virtual Network Manager Active Security Admin Rules", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerAdminRuleCollectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionDelete.json new file mode 100644 index 000000000000..7adc570c0a38 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionGet.json new file mode 100644 index 000000000000..dc83fbd6afe1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerAdminRuleCollectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionList.json new file mode 100644 index 000000000000..59e9476487e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionPut.json new file mode 100644 index 000000000000..44189da661b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleCollectionPut.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerAdminRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleDelete.json new file mode 100644 index 000000000000..4e34245291ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleGet.json new file mode 100644 index 000000000000..2fc08069fdf4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerAdminRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleList.json new file mode 100644 index 000000000000..480349bea4ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRuleList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRulePut.json new file mode 100644 index 000000000000..d1b27abe0a03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerAdminRulePut.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerCommitPost.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerCommitPost.json new file mode 100644 index 000000000000..53ee096b7b68 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerCommitPost.json @@ -0,0 +1,47 @@ +{ + "title": "Post Azure Virtual Network Manager Commit", + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkManagerConnectionManagementGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupDelete.json new file mode 100644 index 000000000000..d550257dc697 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Management Group Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-01", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupGet.json new file mode 100644 index 000000000000..a12b5bb5cdf4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerConnectionManagementGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupList.json new file mode 100644 index 000000000000..4f439be87a76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupList.json @@ -0,0 +1,37 @@ +{ + "title": "List Management Group Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupPut.json new file mode 100644 index 000000000000..583a89440eb4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionManagementGroupPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerConnectionSubscriptionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionDelete.json new file mode 100644 index 000000000000..f39829103306 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Subscription Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionGet.json new file mode 100644 index 000000000000..896ba4f85430 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerConnectionSubscriptionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionList.json new file mode 100644 index 000000000000..89385b270350 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionList.json @@ -0,0 +1,37 @@ +{ + "title": "List Subscription Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionPut.json new file mode 100644 index 000000000000..b8aa3c6eb454 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectionSubscriptionPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerConnectivityConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationDelete.json new file mode 100644 index 000000000000..950d06bff917 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationGet.json new file mode 100644 index 000000000000..333c79c8e4f1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationGet.json @@ -0,0 +1,49 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerConnectivityConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationList.json new file mode 100644 index 000000000000..5bbc5d8096a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationList.json @@ -0,0 +1,53 @@ +{ + "title": "Get Azure Virtual Network Manager Connecitivity Configuration List", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationPut.json new file mode 100644 index 000000000000..f1e7fa36274e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerConnectivityConfigurationPut.json @@ -0,0 +1,108 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerDefaultAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDefaultAdminRuleGet.json new file mode 100644 index 000000000000..ed316780580e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDefaultAdminRuleGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerDefaultAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDefaultAdminRulePut.json new file mode 100644 index 000000000000..af888ba9dadd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDefaultAdminRulePut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDelete.json new file mode 100644 index 000000000000..7521a3c2e898 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDeploymentStatusList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDeploymentStatusList.json new file mode 100644 index 000000000000..5395880f82d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerDeploymentStatusList.json @@ -0,0 +1,51 @@ +{ + "title": "Post Azure Virtual Network Manager Deployment Status", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..f071d0da97b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json @@ -0,0 +1,54 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..d07c95a3d987 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json @@ -0,0 +1,68 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGet.json new file mode 100644 index 000000000000..633d91f01046 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGet.json @@ -0,0 +1,40 @@ +{ + "title": "Get Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupDelete.json new file mode 100644 index 000000000000..43a75dc5227c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Azure Virtual Network Manager Group", + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupGet.json new file mode 100644 index 000000000000..3c9f683d6b98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupGet.json @@ -0,0 +1,32 @@ +{ + "title": "Get Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupList.json new file mode 100644 index 000000000000..61ebcf262e54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupList.json @@ -0,0 +1,36 @@ +{ + "title": "List Azure Virtual Network Manager Network Groups", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupPut.json new file mode 100644 index 000000000000..c9816bbb3b7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerGroupPut.json @@ -0,0 +1,63 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerList.json new file mode 100644 index 000000000000..370eecd747c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerList.json @@ -0,0 +1,45 @@ +{ + "title": "List Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerListAll.json new file mode 100644 index 000000000000..13e6876040c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerListAll.json @@ -0,0 +1,44 @@ +{ + "title": "List Azure Virtual Network Manager in Subscription", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerPatch.json new file mode 100644 index 000000000000..663ccee00ad6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerPatch.json @@ -0,0 +1,52 @@ +{ + "title": "Patch Managed Network Tags", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerPut.json new file mode 100644 index 000000000000..61e6afd3bc17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerPut.json @@ -0,0 +1,91 @@ +{ + "title": "Create/Update Azure Virtual Network Manager", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerScopeConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionDelete.json new file mode 100644 index 000000000000..4d0dd67420d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerScopeConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionGet.json new file mode 100644 index 000000000000..cde90a63bc95 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionGet.json @@ -0,0 +1,36 @@ +{ + "title": "Get Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerScopeConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionList.json new file mode 100644 index 000000000000..039eea6f416f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionList.json @@ -0,0 +1,40 @@ +{ + "title": "List Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerScopeConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionPut.json new file mode 100644 index 000000000000..ae2f6b1612a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerScopeConnectionPut.json @@ -0,0 +1,66 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json new file mode 100644 index 000000000000..705c9e4495eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationGet.json new file mode 100644 index 000000000000..79fb1975ea08 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerSecurityAdminConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationList.json new file mode 100644 index 000000000000..d3833bd71e0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationPut.json new file mode 100644 index 000000000000..1044e84a158d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerSecurityAdminConfigurationPut.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerStaticMemberDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberDelete.json new file mode 100644 index 000000000000..32d9cccd148e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerStaticMemberGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberGet.json new file mode 100644 index 000000000000..4feb3880492f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkManagerStaticMemberList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberList.json new file mode 100644 index 000000000000..cb8c33dd4902 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberList.json @@ -0,0 +1,37 @@ +{ + "title": "List Azure Virtual Network Manager Static Members", + "parameters": { + "api-version": "2023-04-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-04-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberPut.json new file mode 100644 index 000000000000..5495da2f81f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkManagerStaticMemberPut.json @@ -0,0 +1,64 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..32ef7bd46f84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..7a79a40de139 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..5db75be3f576 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..6b7c9dde0cd3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..8be1eb61aa19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..b6f37bcdd880 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..2f75ff5a65be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..fd72cb91abc6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,235 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..d60f9532cf80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..546e80822d44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..df5747d9635a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..c37e34b1e071 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..309f1a773e03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..ceefc29be43a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..1dca0ebd2ca2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..1fb6cf6659e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..54c4b7610a49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..55382e249412 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionDelete.json new file mode 100644 index 000000000000..be5a7448b840 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionGet.json new file mode 100644 index 000000000000..9f55fb72e8da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionList.json new file mode 100644 index 000000000000..ae151ec56e52 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionPut.json new file mode 100644 index 000000000000..38e2c16918ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceConnectionPut.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid", + "NetworkVirtualApplianceConnectionParameters": { + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "enableInternetSecurity": false, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "resourceUri": "/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": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "resourceUri": "/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": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "resourceUri": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..d447d28bcc88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..a3eaf88aa215 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-04-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 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..9644fb2f3950 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..379f8f35b2cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..ec5446ecff40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2023-04-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 + } + ] + } + } + }, + "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-04-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-04-01/examples/NetworkVirtualApplianceSaaSPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSaaSPut.json new file mode 100644 index 000000000000..59b0d4d9dbb5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSaaSPut.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..71e0f77ed647 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..db7a293aa795 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..b4a351052a87 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..537b3663e5bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..ec0fe75565b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..b15b5afe5723 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..3edb65480d81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..93597a27688d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..539af67f42db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..07368b7efb8a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..026f1d0fcfae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..4e299a61649f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..5d497ca62909 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..98733ec3fd06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..9768907857e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..9768907857e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..1a48115952c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..d2faf851b6e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..bdb8a75e308f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..4505f7a761c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..b782a0159842 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..a961e69b3a26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..cd390dfe79a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..0c4db31e486c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..d8c692ab391d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..04858a3d8ecf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..6aac8b2ea7c9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogUpdateTags.json new file mode 100644 index 000000000000..1d6e1f0b9173 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..039a22cdf645 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..7a0d284bca88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + }, + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..f39490d2e67a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..49c59b0fadef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..6cef43bb861a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..8f6e6d6d6a0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..b64d4f6cec7c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..5403868c4041 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..759191765083 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..c05e39a95f1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..9700c34e7536 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..002dbd0af44b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..bc8123fd4986 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..a57332a66fdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..37c19fa675fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..d8862daa3aba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..ef2c97072786 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/OperationList.json new file mode 100644 index 000000000000..0123847ad807 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..20666af92b50 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..3cb06cea3308 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..d44644530708 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..d393e542421e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..87fc2cfc2ee5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..774275fd0429 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..431f2c33c982 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..5f07ede4c220 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayReset.json new file mode 100644 index 000000000000..6ac4d44003bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayReset.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..087ec7ea8cd9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..6ce6d93ceb75 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2023-04-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..0060ac40b93c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..9036c2b8ec17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..b3a3148e0969 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..cd62f47baac1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointCreateWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreateWithASG.json new file mode 100644 index 000000000000..9688df21c1d1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointCreateWithASG.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..a1faca0a16c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..ec55e59762b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..e26750d23be5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..64fa42d49312 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..b7a44d518acb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..d6eec8f0e3ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGet.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..75a7d40ae7a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointGetWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGetWithASG.json new file mode 100644 index 000000000000..a6b6767e4230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointGetWithASG.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..e195f3e1527e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointList.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..3a1f9c7074c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,216 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..190c26b3d0d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..42d6bb51ffa5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..14abef55c6ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..737538f85e97 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..0f82bebba514 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..c202c3f2e9a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..d15e4e8e2214 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..69f64e5431b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..4f36e7211426 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..3bdd7c1212f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..5841a0574661 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..101c89e7e800 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json new file mode 100644 index 000000000000..56734a9d8249 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..de1c7be84980 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..8c6969295287 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressGetDdosProtectionStatus.json new file mode 100644 index 000000000000..787e9b752660 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressGetDdosProtectionStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..030981d9457d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressList.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..b1efbfb41b14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..b60c7b2bd617 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..46baa777bdd6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..330e41c119ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..af52e64a0d5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..7c5cff1d1fea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..eeecc6200edc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..33bc2f626257 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..a0819e5e27f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/QueryInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/QueryInboundNatRulePortMapping.json new file mode 100644 index 000000000000..dd61460fa5ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/QueryInboundNatRulePortMapping.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + }, + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..9bf1824c15a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..25d9e50282a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..03d9d8f289f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..035be3c6ffc8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..9f7915c38946 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..0b2b88ecf98c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..ea1bd579434e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..d7dc50be9228 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..aada0f6a03fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..674a55bebe6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RouteMapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapDelete.json new file mode 100644 index 000000000000..5f834f87b355 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-04-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapGet.json new file mode 100644 index 000000000000..b369ed6af9fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-04-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-04-01/examples/RouteMapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapList.json new file mode 100644 index 000000000000..a25e98ae85a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2023-04-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-04-01/examples/RouteMapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapPut.json new file mode 100644 index 000000000000..ffe80d464a95 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteMapPut.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2023-04-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-04-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..e9468ff764bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..f7fc57ca35ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..c0133e38385d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..ccc737a3dd7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableList.json new file mode 100644 index 000000000000..4b7a063c29b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..07296eea402c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..53c186feb929 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..45a8aa58fb26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..b05aa24f91b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..443f72b549d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..9b51c818c358 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/RoutingIntentDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentDelete.json new file mode 100644 index 000000000000..adbd5c626188 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentGet.json new file mode 100644 index 000000000000..38df51650b49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RoutingIntentList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentList.json new file mode 100644 index 000000000000..ff7cbe7ccf1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/RoutingIntentPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentPut.json new file mode 100644 index 000000000000..e30443167e66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/RoutingIntentPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..d6a3c1cc6b10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..88db057b8499 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..8ab04e20aa94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..df76f5da9ca4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..7c301cc49af3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..17b4327df5c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..94fb1ea7383d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..bf3c1574bfc4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..ce9937966812 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..7c5c9310ecf8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..e7ea12a80e18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..0be3da08ae17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..a1cde13d0a4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..e70e094c6585 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..1ab9db3634a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..668e432dc157 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..5800cf9ea87f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..00a6e0e18999 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceTagInformationListResult.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResult.json new file mode 100644 index 000000000000..512582ff2db9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResult.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json new file mode 100644 index 000000000000..ab8abfeb5e73 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceTagInformationListResultWithTagname.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResultWithTagname.json new file mode 100644 index 000000000000..ee3da9a8c9fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagInformationListResultWithTagname.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..a0135c72f50b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/ServiceTagsList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..421ebb1ee979 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..f0ce9c7fe26c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..3ba80f1f9690 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..38d9abd9667e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetGet.json new file mode 100644 index 000000000000..4ca3f0e5386e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..c9bccdafbc0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetList.json new file mode 100644 index 000000000000..a71bdbee5220 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2023-04-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-04-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..f71fe55c46bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..40bbb5402ffb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/UsageList.json new file mode 100644 index 000000000000..849788d35890 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2023-04-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-04-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..66eab3867d67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2023-04-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-04-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..94f3941c58fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..834a6f760130 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..0e122c161bc1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..3e03346d979d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..ad2790f6697a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..a67f1fd82834 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..d6099703afcf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..a965a3a07727 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..7d1796453eeb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..c1988b4e1667 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..44439cb76aa6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..9ed1a4ba3fa4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..b5a70ea8ac07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubPut.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..d8b09027a8bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..b563c4b7cbe0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..d7c0eec1cb84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..93155c39919e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..d0c9aa4aad53 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..bf33eab34325 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..9b4b965d48e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..a7d29fa90a96 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..bb404865483a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..b97a4ad07be2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..dd057405dbf8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..89553a43eea1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..78e4a653b46c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkCreateWithEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateWithEncryption.json new file mode 100644 index 000000000000..feb77b2b69b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkCreateWithEncryption.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..5ff3c6182c01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..3aae77917475 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..e415b22468bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..3250617745c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json new file mode 100644 index 000000000000..5c1ea5cce56d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..2832a2037d79 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "id": "", + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionReset.json new file mode 100644 index 000000000000..2e9728579199 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionReset.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..2a4e96eb2d38 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..307532af922c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..2adf5f84b783 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..990f319b74d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..04cf53facd47 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..380a89809bc7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..bb59c3b82f3d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..773ee8e62734 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..0c6267140acd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..361a0c759a23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..1c67972a369a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..ae6f6cec5a80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..5c0ce02b3311 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..073c94361608 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..8de0805ccf8e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..431b9b7ca387 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..5c0ce02b3311 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..87fa6d899822 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleDelete.json new file mode 100644 index 000000000000..f56de3848aab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleGet.json new file mode 100644 index 000000000000..ca887b6d4bc3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleList.json new file mode 100644 index 000000000000..1ceebd3583da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRuleList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayNatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRulePut.json new file mode 100644 index 000000000000..18565a884ce5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayNatRulePut.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..53fbbc422b14 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..9c0ef6a8d1e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..24d4b75e53ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..19377381a56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..c62510638a60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..3e7849c996bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..972fba1ff236 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..489ffc0f4890 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,352 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..ba8a6493f8da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-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-04-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..a9cec495b3c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..b5484a90b873 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..95b4811161f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..f7cc585fa4a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetDdosProtectionStatus.json new file mode 100644 index 000000000000..3f9779fa21e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetDdosProtectionStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..c3d3ce8b5fb2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..6b482cf8c913 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..157c22cf4eb6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..96fdccf38bdc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..1b15b93a32c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..5d08c208aaa4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..1c958f544f84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..ec743e3a607f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..ffdb39c02fa6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..7371ab6b7be9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..fc7346c5867e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..a62a1691e62b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..40fbb215878e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..342462debdc3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringSync.json new file mode 100644 index 000000000000..032cbf201b21 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkPeeringSync.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2023-04-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-04-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..b8fe3a6a124f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..1ddc78f959d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..688c444ae137 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..5094f50a7b15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..60422798fe4b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..edf5407c9d1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..7c328344d0ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..20ae8b69a735 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..19555ce87cb5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..f89268912a4e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..a2c5cf5cabc4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPeerListAdvertisedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeerListAdvertisedRoute.json new file mode 100644 index 000000000000..2c11bb165ae4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeerListAdvertisedRoute.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPeerListLearnedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeerListLearnedRoute.json new file mode 100644 index 000000000000..51b7f500f892 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeerListLearnedRoute.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..d0a39f2062dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..79a73a5fb8b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..fb13a94573af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..9516a5b7406a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..1d71b881a168 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..ffad02d2c818 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..ef8743868901 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..3d1d2d4fff92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..609a7f95ee7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..ef045941a726 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..29da8ed9f9e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..e0e2796f94ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..b9b92d63be19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..d13b979ee2be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..a29a8c48da3d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionList.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-04-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-04-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..3d8718960e46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionPut.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStartPacketCapture.json new file mode 100644 index 000000000000..d41d5b8b9629 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStartPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..61e6b1bbe2f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStopPacketCapture.json new file mode 100644 index 000000000000..2e0770bd79cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnConnectionStopPacketCapture.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..ae62dca78786 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..b1abcd429990 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayGet.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..56b34c95a690 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayList.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..13f42f7ae138 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..adf1f87d905d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayPut.json @@ -0,0 +1,377 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..c463ab3d38e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayReset.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStartPacketCapture.json new file mode 100644 index 000000000000..443a37903a7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..73b33f78bb31 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStopPacketCapture.json new file mode 100644 index 000000000000..0ab15364a2a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..ef09dca9e0b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..92fa222c38b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..cf37a15b3005 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..428c405f07d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..7ca8f43e0708 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..746f65a92f3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..a286a6c04337 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..52444b35a8c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..c746b9ff79c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..d77c92de192b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSiteLinkConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionGetIkeSas.json new file mode 100644 index 000000000000..a6993224311c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionGetIkeSas.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..8f6c50b8649f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2023-04-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-04-01/examples/VpnSiteLinkConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkConnectionReset.json new file mode 100644 index 000000000000..1a1571a85599 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..dc47b5bed458 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..425637c6c33f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..bd30b73539f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..12bd81fb3adf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..1242b0c999e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSitePut.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..a74c8dd533df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..189f4244aba3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2023-04-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-04-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..dba556fee2f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafListAllPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..fea26a66da79 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafListPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..77fe93fd376c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,600 @@ +{ + "parameters": { + "api-version": "2023-04-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" + } + ] + } + ] + } + ], + "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" + } + ] + } + } + }, + "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" + } + ] + } + ] + } + ], + "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" + } + ] + } + } + }, + "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" + } + ] + } + ] + } + ], + "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" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..0c7019e0a19a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..73ca85ed31dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/WafPolicyGet.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2023-04-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" + } + ], + "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" + } + ] + } + ] + } + ], + "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-04-01/examples/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/expressRouteProviderPort.json new file mode 100644 index 000000000000..bb41deeaf43b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/expressRouteProviderPort.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/examples/expressRouteProviderPortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/expressRouteProviderPortList.json new file mode 100644 index 000000000000..372d569ffe5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/examples/expressRouteProviderPortList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-04-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-04-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/expressRouteCircuit.json new file mode 100644 index 000000000000..1e6e329d89da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..e2a0920875e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/expressRoutePort.json new file mode 100644 index 000000000000..7efa3f514c30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/expressRouteProviderPort.json new file mode 100644 index 000000000000..ac5505f7e7b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/firewallPolicy.json new file mode 100644 index 000000000000..aafab4dae71f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/firewallPolicy.json @@ -0,0 +1,2185 @@ +{ + "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-04-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 FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json" + }, + "Create FirewallPolicyNatRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup 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", + "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": { + "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": { + "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." + }, + "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 + } + }, + "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 - Low, 2 - Medium, 3 - High", + "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 - Inbound, 1 - OutBound, 2 - Bidirectional", + "enum": [ + 0, + 1, + 2 + ], + "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-04-01/ipAllocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/ipAllocation.json new file mode 100644 index 000000000000..24f02c30a688 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/ipGroups.json new file mode 100644 index 000000000000..06ffffa36382 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/loadBalancer.json new file mode 100644 index 000000000000..4ded46c60dae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/natGateway.json new file mode 100644 index 000000000000..81f355ff10a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/network.json new file mode 100644 index 000000000000..210d0d9dca80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkInterface.json new file mode 100644 index 000000000000..7ee34fcd0ea7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManager.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManager.json new file mode 100644 index 000000000000..5348b50a586b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerActiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerActiveConfiguration.json new file mode 100644 index 000000000000..93c17d5fb2fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerConnection.json new file mode 100644 index 000000000000..ec36adc07414 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerConnectivityConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerConnectivityConfiguration.json new file mode 100644 index 000000000000..18bfda187664 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerEffectiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerEffectiveConfiguration.json new file mode 100644 index 000000000000..d6a6f8641e58 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerGroup.json new file mode 100644 index 000000000000..8d455495fa13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerScopeConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerScopeConnection.json new file mode 100644 index 000000000000..ff7fc3fa00c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkManagerSecurityAdminConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerSecurityAdminConfiguration.json new file mode 100644 index 000000000000..8db3c3c5fb75 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkManagerSecurityAdminConfiguration.json @@ -0,0 +1,1158 @@ +{ + "swagger": "2.0", + "info": { + "title": "SecurityAdminConfiguration", + "version": "2023-04-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-04-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkProfile.json new file mode 100644 index 000000000000..112ca2165702 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkSecurityGroup.json new file mode 100644 index 000000000000..8ec1c50d3563 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..169330986cd0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkVirtualAppliance.json @@ -0,0 +1,1301 @@ +{ + "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-04-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": [] + }, + "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" + } + } + }, + "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-04-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/networkWatcher.json new file mode 100644 index 000000000000..0493ce1fa319 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/operation.json new file mode 100644 index 000000000000..3275c650c232 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/privateEndpoint.json new file mode 100644 index 000000000000..45d989c81304 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/privateLinkService.json new file mode 100644 index 000000000000..2aae4723d065 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/publicIpAddress.json new file mode 100644 index 000000000000..18dea2e2701b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/publicIpPrefix.json new file mode 100644 index 000000000000..4778b6c61047 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/routeFilter.json new file mode 100644 index 000000000000..333260611c8d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/routeTable.json new file mode 100644 index 000000000000..2a2e7dcfd865 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/securityPartnerProvider.json new file mode 100644 index 000000000000..8d3086a6a79e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/serviceCommunity.json new file mode 100644 index 000000000000..832707d3fedb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..2a33a0108462 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/serviceTags.json new file mode 100644 index 000000000000..e59c082f359d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/usage.json new file mode 100644 index 000000000000..cf3386cc4227 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualNetwork.json new file mode 100644 index 000000000000..4df8328d4b5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualNetwork.json @@ -0,0 +1,2210 @@ +{ + "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-04-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" + ], + "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." + } + }, + "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-04-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..e2a6e15973cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualNetworkGateway.json @@ -0,0 +1,4452 @@ +{ + "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-04-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" + } + }, + "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" + } + } + }, + "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": { + "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." + }, + "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" + ], + "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" + ], + "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-04-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualNetworkTap.json new file mode 100644 index 000000000000..566527f6da13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualRouter.json new file mode 100644 index 000000000000..f179c7b1e72f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-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-04-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualWan.json new file mode 100644 index 000000000000..dcb845ff2d4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/virtualWan.json @@ -0,0 +1,9773 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2023-04-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/RoutingConfigurationNfv", + "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." + } + } + }, + "RoutingConfigurationNfvSubResource": { + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to RouteTableV3 associated with the connection." + }, + "RoutingConfigurationNfv": { + "type": "object", + "description": "NFV version of Routing Configuration indicating the associated and propagated route tables for this connection.", + "properties": { + "associatedRouteTable": { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource", + "description": "The resource id RouteTable associated with this RoutingConfiguration." + }, + "propagatedRouteTables": { + "$ref": "#/definitions/PropagatedRouteTableNfv", + "description": "The list of RouteTables to advertise the routes to." + }, + "inboundRouteMap": { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource", + "description": "The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes." + }, + "outboundRouteMap": { + "$ref": "#/definitions/RoutingConfigurationNfvSubResource", + "description": "The resource id of the RouteMap associated with this RoutingConfiguration for outbound advertised routes." + } + } + }, + "PropagatedRouteTableNfv": { + "type": "object", + "description": "Nfv version of 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": "#/definitions/RoutingConfigurationNfvSubResource" + }, + "x-ms-identifiers": [ + "resourceUri" + ] + } + } + }, + "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-04-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-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-04-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/webapplicationfirewall.json new file mode 100644 index 000000000000..377ef59ea4be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2023-04-01/webapplicationfirewall.json @@ -0,0 +1,1019 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-04-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" + ], + "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" + ], + "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 8a8b0e3e301c..2ec8fa46a2d1 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,15 +28,83 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2023-02 +tag: package-2023-04 ``` +### Tag: package-2023-04 + +These settings apply only when `--tag=package-2023-04` is specified on the command line. + +```yaml $(tag) == 'package-2023-04' +input-file: + - Microsoft.Network/stable/2023-04-01/applicationGateway.json + - Microsoft.Network/stable/2023-04-01/applicationGatewayWafDynamicManifests.json + - Microsoft.Network/stable/2023-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2023-04-01/availableDelegations.json + - Microsoft.Network/stable/2023-04-01/availableServiceAliases.json + - Microsoft.Network/stable/2023-04-01/azureFirewall.json + - Microsoft.Network/stable/2023-04-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2023-04-01/azureWebCategory.json + - Microsoft.Network/stable/2023-04-01/bastionHost.json + - Microsoft.Network/stable/2023-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2023-04-01/cloudServiceNetworkInterface.json + - Microsoft.Network/stable/2023-04-01/cloudServicePublicIpAddress.json + - Microsoft.Network/stable/2023-04-01/cloudServiceSwap.json + - Microsoft.Network/stable/2023-04-01/customIpPrefix.json + - Microsoft.Network/stable/2023-04-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2023-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2023-04-01/dscpConfiguration.json + - Microsoft.Network/stable/2023-04-01/endpointService.json + - Microsoft.Network/stable/2023-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2023-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2023-04-01/expressRoutePort.json + - Microsoft.Network/stable/2023-04-01/expressRouteProviderPort.json + - Microsoft.Network/stable/2023-04-01/firewallPolicy.json + - Microsoft.Network/stable/2023-04-01/ipAllocation.json + - Microsoft.Network/stable/2023-04-01/ipGroups.json + - Microsoft.Network/stable/2023-04-01/loadBalancer.json + - Microsoft.Network/stable/2023-04-01/natGateway.json + - Microsoft.Network/stable/2023-04-01/network.json + - Microsoft.Network/stable/2023-04-01/networkInterface.json + - Microsoft.Network/stable/2023-04-01/networkManager.json + - Microsoft.Network/stable/2023-04-01/networkManagerActiveConfiguration.json + - Microsoft.Network/stable/2023-04-01/networkManagerConnection.json + - Microsoft.Network/stable/2023-04-01/networkManagerConnectivityConfiguration.json + - Microsoft.Network/stable/2023-04-01/networkManagerEffectiveConfiguration.json + - Microsoft.Network/stable/2023-04-01/networkManagerGroup.json + - Microsoft.Network/stable/2023-04-01/networkManagerScopeConnection.json + - Microsoft.Network/stable/2023-04-01/networkManagerSecurityAdminConfiguration.json + - Microsoft.Network/stable/2023-04-01/networkProfile.json + - Microsoft.Network/stable/2023-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2023-04-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2023-04-01/networkWatcher.json + - Microsoft.Network/stable/2023-04-01/operation.json + - Microsoft.Network/stable/2023-04-01/privateEndpoint.json + - Microsoft.Network/stable/2023-04-01/privateLinkService.json + - Microsoft.Network/stable/2023-04-01/publicIpAddress.json + - Microsoft.Network/stable/2023-04-01/publicIpPrefix.json + - Microsoft.Network/stable/2023-04-01/routeFilter.json + - Microsoft.Network/stable/2023-04-01/routeTable.json + - Microsoft.Network/stable/2023-04-01/securityPartnerProvider.json + - Microsoft.Network/stable/2023-04-01/serviceCommunity.json + - Microsoft.Network/stable/2023-04-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2023-04-01/serviceTags.json + - Microsoft.Network/stable/2023-04-01/usage.json + - Microsoft.Network/stable/2023-04-01/virtualNetwork.json + - Microsoft.Network/stable/2023-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2023-04-01/virtualNetworkTap.json + - Microsoft.Network/stable/2023-04-01/virtualRouter.json + - Microsoft.Network/stable/2023-04-01/virtualWan.json + - Microsoft.Network/stable/2023-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2023-04-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2023-04-01/webapplicationfirewall.json +``` ### Tag: package-2023-02 These settings apply only when `--tag=package-2023-02` is specified on the command line. -```yaml $(tag) == 'package-2023-02' +``` yaml $(tag) == 'package-2023-02' input-file: - Microsoft.Network/stable/2023-02-01/applicationGateway.json - Microsoft.Network/stable/2023-02-01/applicationGatewayWafDynamicManifests.json @@ -100,6 +168,7 @@ input-file: - Microsoft.Network/stable/2023-02-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2023-02-01/webapplicationfirewall.json ``` + ### Tag: package-2022-06-preview These settings apply only when `--tag=package-2022-06-preview` is specified on the command line. diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index 87fa4a3ff263..29cf0a6670fd 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -51,6 +51,7 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/ perform-load: false +clear-output-folder: false ``` ### Tag: package-2023-02 and python diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Create.json new file mode 100644 index 000000000000..96a2cf156e68 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Create.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "agentPoolName": "agentPoolName", + "agentPoolParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Succeeded", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Accepted", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Delete.json new file mode 100644 index 000000000000..c86fc4d2c2cb --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "agentPoolName": "agentPoolName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Get.json new file mode 100644 index 000000000000..c68de3fd5f08 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Get.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "agentPoolName": "agentPoolName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Succeeded", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_ListByKubernetesCluster.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_ListByKubernetesCluster.json new file mode 100644 index 000000000000..e930ca387121 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_ListByKubernetesCluster.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Succeeded", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Patch.json new file mode 100644 index 000000000000..23fb41d3ca06 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/AgentPools_Patch.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "agentPoolName": "agentPoolName", + "agentPoolUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "count": 3, + "upgradeSettings": { + "maxSurge": "1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Succeeded", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName/agentPools/agentPoolName", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters/agentPools", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "provisioningState": "Accepted", + "kubernetesVersion": "1.24.3-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Agent pool is available" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Create.json new file mode 100644 index 000000000000..4a0a8bbfe9f4 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Create.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bareMetalMachineKeySetName": "bareMetalMachineKeySetName", + "bareMetalMachineKeySetParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Accepted" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Delete.json new file mode 100644 index 000000000000..b6b2f803a782 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bareMetalMachineKeySetName": "bareMetalMachineKeySetName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Get.json new file mode 100644 index 000000000000..5460f6fca596 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Get.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bareMetalMachineKeySetName": "bareMetalMachineKeySetName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_ListByCluster.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_ListByCluster.json new file mode 100644 index 000000000000..a93555553d5b --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_ListByCluster.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Patch.json new file mode 100644 index 000000000000..1d99a8e66150 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachineKeySets_Patch.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bareMetalMachineKeySetName": "bareMetalMachineKeySetName", + "bareMetalMachineKeySetUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "expiration": "2022-12-31T23:59:59.008Z", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bareMetalMachineKeySets/bareMetalMachineKeySetName", + "name": "bareMetalMachineKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Standard", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "osGroupName": "standardAccessGroup", + "jumpHostsAllowed": [ + "192.0.2.1", + "192.0.2.5" + ], + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Accepted", + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Cordon.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Cordon.json new file mode 100644 index 000000000000..cba86c15ffca --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Cordon.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineCordonParameters": { + "evacuate": "True" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Create.json new file mode 100644 index 000000000000..3754489ef35f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Create.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser", + "password": "{password}" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Delete.json new file mode 100644 index 000000000000..fe56dbb50776 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Get.json new file mode 100644 index 000000000000..2deb92a376ef --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Get.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListByResourceGroup.json new file mode 100644 index 000000000000..7cb0acc44dbb --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListBySubscription.json new file mode 100644 index 000000000000..c7e0c7482689 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_ListBySubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Patch.json new file mode 100644 index 000000000000..acd0b117daaa --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Patch.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "machineDetails": "machinedetails" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "name": "bareMetalMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/bareMetalMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "machineSkuId": "684E-3B16-399E", + "rackSlot": 1, + "machineName": "r01c001", + "bootMacAddress": "00:00:4e:00:58:af", + "bmcMacAddress": "00:00:4f:00:57:00", + "bmcCredentials": { + "username": "bmcuser" + }, + "bmcConnectionString": "bmcconnectionstring", + "machineDetails": "User-provided machine details.", + "serialNumber": "BM1219XXX", + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "readyState": "True", + "cordonStatus": "Uncordoned", + "powerState": "On", + "hardwareInventory": { + "interfaces": [ + { + "name": "networkInterfaceName", + "macAddress": "2C:54:91:88:C9:E3", + "linkStatus": "Up", + "networkInterfaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkDevices/networkDeviceName/networkInterfaces/networkInterfaceName" + } + ], + "additionalHostInformation": "Machine specific information..." + }, + "detailedStatus": "Available", + "detailedStatusMessage": "DetailedStatusMessage", + "serviceTag": "ST1219XXX", + "kubernetesNodeName": "node01", + "kubernetesVersion": "1.21", + "osImage": "v20220805e", + "oamIpv4Address": "192.0.2.1", + "oamIpv6Address": "0:0:0:0:0:FFFF:7F00:0001", + "hardwareValidationStatus": { + "result": "Pass", + "lastValidationTime": "2022-09-30T13:27:03.008Z" + }, + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_PowerOff.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_PowerOff.json new file mode 100644 index 000000000000..5f3c3b3a1a4a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_PowerOff.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachinePowerOffParameters": { + "skipShutdown": "True" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Reimage.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Reimage.json new file mode 100644 index 000000000000..0ffaffffbbb0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Reimage.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Replace.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Replace.json new file mode 100644 index 000000000000..aa030255219e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Replace.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineReplaceParameters": { + "bootMacAddress": "00:00:4e:00:58:af", + "bmcCredentials": { + "username": "bmcuser", + "password": "{password}" + }, + "serialNumber": "BM1219XXX", + "bmcMacAddress": "00:00:4f:00:57:ad", + "machineName": "name" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Restart.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Restart.json new file mode 100644 index 000000000000..0ffaffffbbb0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Restart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunCommand.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunCommand.json new file mode 100644 index 000000000000..41865665a08c --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunCommand.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineRunCommandParameters": { + "script": "cHdkCg==", + "arguments": [ + "--argument1", + "argument2" + ], + "limitTimeSeconds": 60 + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunDataExtracts.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunDataExtracts.json new file mode 100644 index 000000000000..b09c0c3c72f5 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunDataExtracts.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineRunDataExtractsParameters": { + "commands": [ + { + "command": "hardware-support-data-collection", + "arguments": [ + "SysInfo", + "TTYLog" + ] + } + ], + "limitTimeSeconds": 60 + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunReadCommands.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunReadCommands.json new file mode 100644 index 000000000000..828b21334c90 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_RunReadCommands.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName", + "bareMetalMachineRunReadCommandsParameters": { + "commands": [ + { + "command": "kubectl get", + "arguments": [ + "pods", + "-A" + ] + }, + { + "command": "ping", + "arguments": [ + "192.168.0.99", + "-c", + "3" + ] + } + ], + "limitTimeSeconds": 60 + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Start.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Start.json new file mode 100644 index 000000000000..0ffaffffbbb0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Start.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Uncordon.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Uncordon.json new file mode 100644 index 000000000000..0ffaffffbbb0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BareMetalMachines_Uncordon.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "bareMetalMachineName": "bareMetalMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Create.json new file mode 100644 index 000000000000..057168440a1b --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Create.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bmcKeySetName": "bmcKeySetName", + "bmcKeySetParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Accepted" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Delete.json new file mode 100644 index 000000000000..cdbb72bda81b --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bmcKeySetName": "bmcKeySetName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Get.json new file mode 100644 index 000000000000..c3ffdb61224f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Get.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bmcKeySetName": "bmcKeySetName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_ListByCluster.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_ListByCluster.json new file mode 100644 index 000000000000..45a7c0b499ea --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_ListByCluster.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Patch.json new file mode 100644 index 000000000000..c0b5a6d5233d --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/BmcKeySets_Patch.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "bmcKeySetName": "bmcKeySetName", + "bmcKeySetUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "expiration": "2022-12-31T23:59:59.008Z", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Succeeded", + "userListStatus": [ + { + "azureUserName": "userABC", + "status": "Active", + "statusMessage": "User has been provisioned" + }, + { + "azureUserName": "userXYZ", + "status": "Invalid", + "statusMessage": "User is not a valid Azure user" + } + ], + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/bmcKeySets/bmcKeySetName", + "name": "bmcKeySetName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/bmcKeySets", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "privilegeLevel": "Administrator", + "expiration": "2022-12-31T23:59:59.008Z", + "azureGroupId": "f110271b-XXXX-4163-9b99-214d91660f0e", + "userList": [ + { + "azureUserName": "userABC", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + }, + { + "azureUserName": "userXYZ", + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "description": "Needs access for troubleshooting as a part of the support team" + } + ], + "provisioningState": "Accepted", + "lastValidation": "2022-12-12T12:00:00.008Z", + "detailedStatus": "SomeInvalid", + "detailedStatusMessage": "Inalid Azure user(s) were provided: userXYZ" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Create.json new file mode 100644 index 000000000000..73bdf41b9b37 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Create.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "cloudServicesNetworkName": "cloudServicesNetworkName", + "cloudServicesNetworkParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Delete.json new file mode 100644 index 000000000000..605dbf8f0d41 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "cloudServicesNetworkName": "cloudServicesNetworkName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Get.json new file mode 100644 index 000000000000..30a25924a9a6 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Get.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "cloudServicesNetworkName": "cloudServicesNetworkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListByResourceGroup.json new file mode 100644 index 000000000000..da423f4b4af7 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListBySubscription.json new file mode 100644 index 000000000000..1a946c13be4e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_ListBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Patch.json new file mode 100644 index 000000000000..837bf80f2646 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/CloudServicesNetworks_Patch.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "cloudServicesNetworkName": "cloudServicesNetworkName", + "cloudServicesNetworkUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Succeeded", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "name": "cloudServicesNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/cloudServicesNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "additionalEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "enableDefaultEgressEndpoints": "False", + "provisioningState": "Accepted", + "interfaceName": "eth0", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "enabledEgressEndpoints": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "https://storageaccountex.blob.core.windows.net", + "port": 443 + } + ] + } + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Cloud services network is up" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Create.json new file mode 100644 index 000000000000..ee3a8ee6d75a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Create.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterManagerName": "clusterManagerName", + "clusterManagerParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Succeeded", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Accepted", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Delete.json new file mode 100644 index 000000000000..7c769e81034c --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterManagerName": "clusterManagerName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Get.json new file mode 100644 index 000000000000..61681ecccab2 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterManagerName": "clusterManagerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Succeeded", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListByResourceGroup.json new file mode 100644 index 000000000000..d985067bc9c5 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListByResourceGroup.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Succeeded", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListBySubscription.json new file mode 100644 index 000000000000..b186b20f8d27 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_ListBySubscription.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Succeeded", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Patch.json new file mode 100644 index 000000000000..b0f667f110b8 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterManagers_Patch.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterManagerName": "clusterManagerName", + "clusterManagerUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "name": "clusterManagerName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusterManagers", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "managerExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterVersions": [ + { + "targetClusterVersion": "1.0.0", + "supportExpiryDate": "2023-04-29" + }, + { + "targetClusterVersion": "1.0.2", + "supportExpiryDate": "2025-01-01" + } + ], + "provisioningState": "Succeeded", + "detailedStatus": "Available", + "detailedStatusMessage": "cluster manager is up and running", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + } + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Create.json new file mode 100644 index 000000000000..05ba5b5ec9dd --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Create.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "metricsConfigurationName": "default", + "metricsConfigurationParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Succeeded", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Accepted", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Delete.json new file mode 100644 index 000000000000..e96dc8beb3e5 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "metricsConfigurationName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Get.json new file mode 100644 index 000000000000..73bc20d3d85b --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Get.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "metricsConfigurationName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Succeeded", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_ListByCluster.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_ListByCluster.json new file mode 100644 index 000000000000..d8b4cd1c05ae --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_ListByCluster.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Succeeded", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Patch.json new file mode 100644 index 000000000000..6e8ad3198a0a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/ClusterMetricsConfigurations_Patch.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "metricsConfigurationName": "default", + "metricsConfigurationUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Succeeded", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName/metricsConfigurations/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters/metricsConfigurations", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "enabledMetrics": [ + "metric1", + "metric2" + ], + "collectionInterval": 15, + "provisioningState": "Accepted", + "disabledMetrics": [ + "metric3", + "metric4" + ], + "detailedStatus": "Applied", + "detailedStatusMessage": "Metrics configuration has been successfully applied to all resources." + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Create.json new file mode 100644 index 000000000000..59226de1be1d --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Create.json @@ -0,0 +1,466 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username", + "password": "{password}" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username", + "password": "{password}" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012", + "password": "{password}" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Succeeded", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Accepted", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "PendingDeployment", + "detailedStatusMessage": "Cluster creation is accepted. Deployment is pending.", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Delete.json new file mode 100644 index 000000000000..360f5c904069 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy.json new file mode 100644 index 000000000000..32244a847712 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterDeployParameters": {} + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy_SkipValidation.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy_SkipValidation.json new file mode 100644 index 000000000000..47387e18aa27 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Deploy_SkipValidation.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterDeployParameters": { + "skipValidationsForMachines": [ + "bmmName1" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Get.json new file mode 100644 index 000000000000..b3c19498850e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Get.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Succeeded", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListByResourceGroup.json new file mode 100644 index 000000000000..00b618efa6d6 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListByResourceGroup.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Succeeded", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListBySubscription.json new file mode 100644 index 000000000000..4e20010c339a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_ListBySubscription.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Succeeded", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_AggregatorOrSingleRackDefinition.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_AggregatorOrSingleRackDefinition.json new file mode 100644 index 000000000000..a354515d11a7 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_AggregatorOrSingleRackDefinition.json @@ -0,0 +1,401 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "newSerialNumber", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username", + "password": "{password}" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username", + "password": "{password}" + }, + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "newSerialNumber", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Accepted", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "newSerialNumber", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Accepted", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_Location.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_Location.json new file mode 100644 index 000000000000..ad88ab2062a2 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_Patch_Location.json @@ -0,0 +1,354 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "clusterLocation": "Foo Street, 3rd Floor, row 9" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Succeeded", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "name": "clusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/clusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", + "clusterType": "SingleRack", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "clusterLocation": "Foo Street, 3rd Floor, row 9", + "clusterVersion": "1.0.0", + "aggregatorOrSingleRackDefinition": { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + }, + "computeRackDefinitions": [ + { + "networkRackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkRacks/networkRackName", + "rackSkuId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "rackSerialNumber": "AA1234", + "rackLocation": "Foo Datacenter, Floor 3, Aisle 9, Rack 2", + "storageApplianceConfigurationData": [ + { + "rackSlot": 1, + "adminCredentials": { + "username": "username" + }, + "storageApplianceName": "vmName", + "serialNumber": "BM1219XXX" + } + ], + "bareMetalMachineConfigurationData": [ + { + "rackSlot": 1, + "bootMacAddress": "00:BB:CC:DD:EE:FF", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName1", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:FF", + "serialNumber": "BM1219XXX" + }, + { + "rackSlot": 2, + "bootMacAddress": "00:BB:CC:DD:EE:00", + "bmcCredentials": { + "username": "username" + }, + "bmcConnectionString": "bmcConnectionString", + "machineName": "bmmName2", + "machineDetails": "extraDetails", + "bmcMacAddress": "AA:BB:CC:DD:EE:00", + "serialNumber": "BM1219YYY" + } + ] + } + ], + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "clusterServicePrincipal": { + "tenantId": "80000000-4000-4000-4000-120000000000", + "principalId": "00000008-0004-0004-0004-000000000012", + "applicationId": "12345678-1234-1234-1234-123456789012" + }, + "computeDeploymentThreshold": { + "type": "PercentSuccess", + "grouping": "PerCluster", + "value": 90 + }, + "provisioningState": "Accepted", + "clusterExtendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "clusterManagerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusterManagers/clusterManagerName", + "availableUpgradeVersions": [ + { + "targetClusterVersion": "1.0.2", + "expectedDuration": "0:0:30", + "controlImpact": "False", + "workloadImpact": "False", + "impactDescription": "can be done in place", + "supportExpiryDate": "2025-01-01" + } + ], + "supportExpiryDate": "2023-04-29", + "detailedStatus": "Running", + "detailedStatusMessage": "Cluster is running and healthy", + "clusterManagerConnectionStatus": "Connected", + "clusterConnectionStatus": "Connected", + "workloadResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName" + ], + "clusterCapacity": { + "totalCoreCount": 10, + "availableCoreCount": 10, + "totalMemoryGB": 10, + "availableMemoryGB": 20, + "totalHostStorageGB": 10, + "availableHostStorageGB": 20, + "totalApplianceStorageGB": 10, + "availableApplianceStorageGB": 3 + }, + "manualActionCount": 0 + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_UpdateVersion.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_UpdateVersion.json new file mode 100644 index 000000000000..547ca776cc81 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Clusters_UpdateVersion.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "clusterName": "clusterName", + "clusterUpdateVersionParameters": { + "targetClusterVersion": "2.0" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Create.json new file mode 100644 index 000000000000..60ed95ede056 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "consoleName": "default", + "consoleParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Succeeded", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Accepted", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Delete.json new file mode 100644 index 000000000000..3a6ecf32884e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "consoleName": "default" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Get.json new file mode 100644 index 000000000000..8b884305cf13 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "consoleName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Succeeded", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_ListByVirtualMachine.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_ListByVirtualMachine.json new file mode 100644 index 000000000000..d2ccadd15571 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_ListByVirtualMachine.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Succeeded", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Patch.json new file mode 100644 index 000000000000..591fc673daac --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Consoles_Patch.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "consoleName": "default", + "consoleUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "expiration": "2022-06-01T01:27:03.008Z", + "enabled": "True" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Succeeded", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName/consoles/default", + "name": "default", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines/consoles", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterManagerExtendedLocationName" + }, + "properties": { + "sshPublicKey": { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + }, + "enabled": "True", + "expiration": "2022-06-01T01:27:03.008Z", + "provisioningState": "Accepted", + "privateLinkServiceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Network/privateLinkServices/console-pls", + "virtualMachineAccessId": "VirtualMachineAccessId", + "detailedStatus": "Ready", + "detailedStatusMessage": "Console is ready for use" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Create.json new file mode 100644 index 000000000000..518182166a9a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Create.json @@ -0,0 +1,716 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "kubernetesClusterParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Succeeded", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Accepted", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Delete.json new file mode 100644 index 000000000000..89328dbd4583 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Get.json new file mode 100644 index 000000000000..73a96608bba0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Get.json @@ -0,0 +1,271 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Succeeded", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListByResourceGroup.json new file mode 100644 index 000000000000..655a2c8a9939 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListByResourceGroup.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Succeeded", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListBySubscription.json new file mode 100644 index 000000000000..094b1c55609a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_ListBySubscription.json @@ -0,0 +1,273 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Succeeded", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Patch.json new file mode 100644 index 000000000000..ecf975c5dc7e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_Patch.json @@ -0,0 +1,547 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "kubernetesClusterUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "controlPlaneNodeConfiguration": { + "count": 3 + }, + "kubernetesVersion": "1.24.12" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Succeeded", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/kubernetesClusters/kubernetesClusterName", + "name": "KubernetesClusterName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/kubernetesClusters", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "aadConfiguration": { + "adminGroupObjectIds": [ + "ffffffff-ffff-ffff-ffff-ffffffffffff" + ] + }, + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "initialAgentPoolConfigurations": [ + { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "agentOptions": { + "hugepagesCount": 96, + "hugepagesSize": "1G" + }, + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "mode": "System", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "upgradeSettings": { + "maxSurge": "1" + }, + "vmSkuName": "NC_M16_v1", + "name": "SystemPool-1" + } + ], + "controlPlaneNodeConfiguration": { + "administratorConfiguration": { + "adminUsername": "azure", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + }, + "availabilityZones": [ + "1", + "2", + "3" + ], + "count": 3, + "vmSkuName": "NC_G4_v1" + }, + "kubernetesVersion": "1.24.12-1", + "managedResourceGroupConfiguration": { + "name": "my-managed-rg", + "location": "East US" + }, + "networkConfiguration": { + "attachedNetworkConfiguration": { + "l2Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "pluginType": "DPDK" + } + ], + "l3Networks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "pluginType": "SRIOV", + "ipamEnabled": "False" + } + ], + "trunkedNetworks": [ + { + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "pluginType": "MACVLAN" + } + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "bgpAdvertisements": [ + { + "advertiseToFabric": "True", + "communities": [ + "64512:100" + ], + "ipAddressPools": [ + "pool1" + ], + "peers": [ + "peer1" + ] + } + ], + "fabricPeeringEnabled": "True", + "bgpPeers": [ + { + "bfdEnabled": "False", + "bgpMultiHop": "False", + "holdTime": "P300s", + "keepAliveTime": "P300s", + "myAsn": 64512, + "name": "peer1", + "peerAddress": "203.0.113.254", + "peerAsn": 64497, + "peerPort": 179 + } + ], + "ipAddressPools": [ + { + "addresses": [ + "198.51.102.0/24" + ], + "autoAssign": "True", + "name": "pool1", + "onlyUseHostIps": "True" + } + ] + }, + "cloudServicesNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "cniNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "dnsServiceIp": "198.51.101.2", + "podCidrs": [ + "198.51.100.0/24" + ], + "serviceCidrs": [ + "198.51.101.0/24" + ] + }, + "provisioningState": "Accepted", + "availableUpgrades": [ + { + "version": "1.24.13-1", + "availabilityLifecycle": "GenerallyAvailable" + } + ], + "attachedNetworkIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName" + ], + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "connectedClusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.Kubernetes/connectedClusters/connectedClusterName", + "controlPlaneKubernetesVersion": "1.24.12-1", + "detailedStatus": "Available", + "detailedStatusMessage": "Kubernetes cluster is operational", + "featureStatuses": [ + { + "name": "Feature1", + "version": "1", + "detailedStatus": "Running", + "detailedStatusMessage": "No issues detected" + } + ], + "nodes": [ + { + "agentPoolId": "pool1", + "availabilityZone": "1", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "cpuCores": 20, + "detailedStatus": "Available", + "detailedStatusMessage": "No issues detected", + "diskSizeGB": 120, + "image": "myacr.azurecr.io/foobar:latest", + "kubernetesVersion": "1.24.12-1", + "labels": [ + { + "key": "kubernetes.label", + "value": "true" + } + ], + "memorySizeGB": 256, + "mode": "System", + "name": "machine1", + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "powerState": "On", + "role": "ControlPlane", + "taints": [ + { + "key": "kubernetes.taint", + "value": "true" + } + ], + "vmSkuName": "NC_M16_v1" + } + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_RestartNode.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_RestartNode.json new file mode 100644 index 000000000000..c3b438762ae5 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/KubernetesClusters_RestartNode.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "kubernetesClusterName": "kubernetesClusterName", + "kubernetesClusterRestartNodeParameters": { + "nodeName": "nodeName" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Create.json new file mode 100644 index 000000000000..15b7173704d9 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Create.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l2NetworkName": "l2NetworkName", + "l2NetworkParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "hybridAksPluginType": "DPDK" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Delete.json new file mode 100644 index 000000000000..d26ea34a542e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l2NetworkName": "l2NetworkName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Get.json new file mode 100644 index 000000000000..6c80cf644f28 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l2NetworkName": "l2NetworkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListByResourceGroup.json new file mode 100644 index 000000000000..ccfa0746d19b --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListByResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListBySubscription.json new file mode 100644 index 000000000000..468f7dff3f1d --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_ListBySubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Patch.json new file mode 100644 index 000000000000..45c90ae5716e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L2Networks_Patch.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l2NetworkName": "l2NetworkName", + "l2NetworkUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l2Networks/l2NetworkName", + "name": "l2NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l2Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l2IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L2 network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Create.json new file mode 100644 index 000000000000..81ba57fc7905 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Create.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l3NetworkName": "l3NetworkName", + "l3NetworkParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Delete.json new file mode 100644 index 000000000000..70c6733bdee4 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l3NetworkName": "l3NetworkName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Get.json new file mode 100644 index 000000000000..be70b97ad026 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Get.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l3NetworkName": "l3NetworkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListByResourceGroup.json new file mode 100644 index 000000000000..d27347e4154a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListBySubscription.json new file mode 100644 index 000000000000..bdf9ca714d8f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_ListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Patch.json new file mode 100644 index 000000000000..a0ea5fe035f8 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/L3Networks_Patch.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "l3NetworkName": "l3NetworkName", + "l3NetworkUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "name": "l3NetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/l3Networks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "l3IsolationDomainId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName", + "vlan": 12, + "ipAllocationType": "DualStack", + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "L3 network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Operations_List.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Operations_List.json new file mode 100644 index 000000000000..588f2a5d8c58 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Operations_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://fully.qualified.hyperlink", + "value": [ + { + "actionType": "Internal", + "display": { + "description": "Reads Network Cloud cluster(s)", + "operation": "Get/list Network Cloud cluster resources", + "provider": "Microsoft Network Cloud", + "resource": "Network Cloud cluster" + }, + "isDataAction": true, + "name": "Microsoft.NetworkCloud/clusters/Read", + "origin": "user,system" + }, + { + "actionType": "Internal", + "display": { + "description": "Writes Network Cloud cluster(s)", + "operation": "Create/update Network Cloud cluster resources", + "provider": "Microsoft Network Cloud", + "resource": "Network Cloud cluster" + }, + "isDataAction": true, + "name": "Microsoft.NetworkCloud/clusters/Write", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_Get.json new file mode 100644 index 000000000000..c80c1e5d1530 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_Get.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "rackSkuName": "rackSkuName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "name": "rackSkuName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/rackSkus", + "properties": { + "provisioningState": "Succeeded", + "rackType": "Single", + "maxClusterSlots": 0, + "description": "Sample SKU for the single rack.", + "controllerMachines": [ + { + "properties": { + "vendor": "Dell", + "model": "PowerEdge R650", + "generation": "8", + "hardwareVersion": "3", + "bootstrapProtocol": "PXE", + "cpuSockets": 1, + "cpuCores": 8, + "totalThreads": 16, + "memoryCapacityGB": 128, + "disks": [ + { + "capacityGB": 893, + "type": "SSD", + "connection": "SAS" + } + ], + "networkInterfaces": [ + { + "address": "04:00.0", + "physicalSlot": 2, + "portCount": 2, + "portSpeed": 1, + "deviceConnectionType": "PCI", + "vendor": "Broadcom Corp", + "model": "Broadcom Gigabit Ethernet BCM5720" + } + ] + }, + "rackSlot": 5 + } + ], + "computeMachines": [ + { + "properties": { + "vendor": "Dell", + "model": "PowerEdge R750", + "generation": "8", + "hardwareVersion": "3", + "bootstrapProtocol": "PXE", + "cpuSockets": 2, + "cpuCores": 28, + "totalThreads": 112, + "memoryCapacityGB": 512, + "disks": [ + { + "capacityGB": 893, + "type": "SSD", + "connection": "SAS" + } + ], + "networkInterfaces": [ + { + "address": "04:00.0", + "physicalSlot": 1, + "portCount": 2, + "portSpeed": 1, + "deviceConnectionType": "PCI", + "vendor": "Broadcom Corp", + "model": "Broadcom Gigabit Ethernet BCM5720" + } + ] + }, + "rackSlot": 1 + } + ], + "storageAppliances": [ + { + "properties": { + "capacityGB": 9100, + "model": "x70r3-9" + }, + "rackSlot": 2 + } + ] + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_ListBySubscription.json new file mode 100644 index 000000000000..a32d089a7300 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/RackSkus_ListBySubscription.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/rackSkus/rackSkuName", + "name": "rackSkuName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/rackSkus", + "properties": { + "provisioningState": "Succeeded", + "rackType": "Single", + "maxClusterSlots": 0, + "description": "Sample SKU for the single rack.", + "controllerMachines": [ + { + "properties": { + "vendor": "Dell", + "model": "PowerEdge R650", + "generation": "8", + "hardwareVersion": "3", + "bootstrapProtocol": "PXE", + "cpuSockets": 1, + "cpuCores": 8, + "totalThreads": 16, + "memoryCapacityGB": 128, + "disks": [ + { + "capacityGB": 893, + "type": "SSD", + "connection": "SAS" + } + ], + "networkInterfaces": [ + { + "address": "04:00.0", + "physicalSlot": 2, + "portCount": 2, + "portSpeed": 1, + "deviceConnectionType": "PCI", + "vendor": "Broadcom Corp", + "model": "Broadcom Gigabit Ethernet BCM5720" + } + ] + }, + "rackSlot": 5 + } + ], + "computeMachines": [ + { + "properties": { + "vendor": "Dell", + "model": "PowerEdge R750", + "generation": "8", + "hardwareVersion": "3", + "bootstrapProtocol": "PXE", + "cpuSockets": 2, + "cpuCores": 28, + "totalThreads": 112, + "memoryCapacityGB": 512, + "disks": [ + { + "capacityGB": 893, + "type": "SSD", + "connection": "SAS" + } + ], + "networkInterfaces": [ + { + "address": "04:00.0", + "physicalSlot": 1, + "portCount": 2, + "portSpeed": 1, + "deviceConnectionType": "PCI", + "vendor": "Broadcom Corp", + "model": "Broadcom Gigabit Ethernet BCM5720" + } + ] + }, + "rackSlot": 1 + } + ], + "storageAppliances": [ + { + "properties": { + "capacityGB": 9100, + "model": "x70r3-9" + }, + "rackSlot": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Create.json new file mode 100644 index 000000000000..d410c55d2a69 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Create.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "rackName": "rackName", + "rackParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Delete.json new file mode 100644 index 000000000000..db7b928ee288 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "rackName": "rackName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Get.json new file mode 100644 index 000000000000..5c6fdc4cefb4 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "rackName": "rackName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListByResourceGroup.json new file mode 100644 index 000000000000..f5c55b461bf8 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListBySubscription.json new file mode 100644 index 000000000000..12a9b9287264 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_ListBySubscription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Patch.json new file mode 100644 index 000000000000..3969b0f743be --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Racks_Patch.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "rackName": "rackName", + "rackUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "rackLocation": "Rack 2B" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "name": "rackName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/racks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackSkuId": "RACK-TYPE-1", + "rackSerialNumber": "RACK_SERIAL_NUMBER", + "availabilityZone": "1", + "rackLocation": "Rack 28", + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "detailedStatus": "Available", + "detailedStatusMessage": "Rack is operational" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Create.json new file mode 100644 index 000000000000..3e83ba290175 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Create.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName", + "storageApplianceParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser", + "password": "{password}" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Delete.json new file mode 100644 index 000000000000..7907cf478c75 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_DisableRemoteVendorManagement.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_DisableRemoteVendorManagement.json new file mode 100644 index 000000000000..e14cb27a8aca --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_DisableRemoteVendorManagement.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_EnableRemoteVendorManagement.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_EnableRemoteVendorManagement.json new file mode 100644 index 000000000000..b9fbb869411f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_EnableRemoteVendorManagement.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName", + "storageApplianceEnableRemoteVendorManagementParameters": { + "supportEndpoints": [ + "10.0.0.0/24" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Get.json new file mode 100644 index 000000000000..c1c9936bd72f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Get.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListByResourceGroup.json new file mode 100644 index 000000000000..5d54bcc95121 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListBySubscription.json new file mode 100644 index 000000000000..bb641baa9577 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_ListBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Patch.json new file mode 100644 index 000000000000..d117ac7ff66d --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/StorageAppliances_Patch.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "storageApplianceName": "storageApplianceName", + "storageApplianceUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "serialNumber": "BM1219XXX" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "name": "storageApplianceName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/storageAppliances", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "rackId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "storageApplianceSkuId": "684E-3B16-399E", + "rackSlot": 1, + "serialNumber": "BM1219XXX", + "administratorCredentials": { + "username": "adminUser" + }, + "provisioningState": "Accepted", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "capacity": 893, + "capacityUsed": 500, + "remoteVendorManagementStatus": "Enabled", + "remoteVendorManagementFeature": "Supported", + "detailedStatus": "Available", + "detailedStatusMessage": "Storage appliance is up and running", + "managementIpv4Address": "192.0.2.2" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Create.json new file mode 100644 index 000000000000..cf840159d40a --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Create.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "trunkedNetworkName": "trunkedNetworkName", + "trunkedNetworkParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Delete.json new file mode 100644 index 000000000000..f8bc246209a0 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "trunkedNetworkName": "trunkedNetworkName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Get.json new file mode 100644 index 000000000000..67ed1250ae50 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Get.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "trunkedNetworkName": "trunkedNetworkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListByResourceGroup.json new file mode 100644 index 000000000000..6e86f819d9ef --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListBySubscription.json new file mode 100644 index 000000000000..50c70e1f2d7d --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_ListBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Patch.json new file mode 100644 index 000000000000..3546b276ae05 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/TrunkedNetworks_Patch.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "trunkedNetworkName": "trunkedNetworkName", + "trunkedNetworkUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/trunkedNetworks/trunkedNetworkName", + "name": "trunkedNetworkName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/trunkedNetworks", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "interfaceName": "eth0", + "isolationDomainIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2IsolationDomainName", + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName" + ], + "vlans": [ + 12, + 14 + ], + "provisioningState": "Succeeded", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "associatedResourceIds": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Available", + "detailedStatusMessage": "Trunked network is up" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Create.json new file mode 100644 index 000000000000..7c0c9b1f1055 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Create.json @@ -0,0 +1,248 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "virtualMachineParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "password": "{password}", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Succeeded", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Accepted", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Delete.json new file mode 100644 index 000000000000..4757439e2936 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Get.json new file mode 100644 index 000000000000..4c51922e154e --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Get.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Succeeded", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListByResourceGroup.json new file mode 100644 index 000000000000..2ec7f7980796 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListByResourceGroup.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Succeeded", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListBySubscription.json new file mode 100644 index 000000000000..47a3a2772745 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_ListBySubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Succeeded", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Patch.json new file mode 100644 index 000000000000..ebbc81051d11 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Patch.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "virtualMachineUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "properties": { + "vmImageRepositoryCredentials": { + "username": "myuser", + "password": "{password}", + "registryUrl": "myacr.azurecr.io" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Succeeded", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + } + }, + "202": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName", + "name": "virtualMachineName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/virtualMachines", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "vmImage": "myacr.azurecr.io/foobar:latest", + "vmImageRepositoryCredentials": { + "username": "myuser", + "registryUrl": "myacr.azurecr.io" + }, + "vmDeviceModel": "T2", + "cpuCores": 2, + "memorySizeGB": 8, + "storageProfile": { + "osDisk": { + "createOption": "Ephemeral", + "deleteOption": "Delete", + "diskSizeGB": 120 + }, + "volumeAttachments": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + }, + "cloudServicesNetworkAttachment": { + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/cloudServicesNetworks/cloudServicesNetworkName", + "ipAllocationMethod": "Dynamic" + }, + "networkAttachments": [ + { + "networkAttachmentName": "netAttachName01", + "attachedNetworkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/l3Networks/l3NetworkName", + "ipAllocationMethod": "Dynamic", + "ipv4Address": "198.51.100.1", + "ipv6Address": "2001:0db8:0000:0000:0000:0000:0000:0000", + "macAddress": "bf:1c:29:31:31:1f", + "defaultGateway": "True" + } + ], + "placementHints": [ + { + "hintType": "Affinity", + "schedulingExecution": "Hard", + "resourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/racks/rackName", + "scope": "" + } + ], + "userData": "dXNlckRhdGVTYW1wbGU=", + "networkData": "bmV0d29ya0RhdGVTYW1wbGU=", + "bootMethod": "UEFI", + "adminUsername": "username", + "sshPublicKeys": [ + { + "keyData": "ssh-rsa AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1Xo+yYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm" + } + ], + "provisioningState": "Accepted", + "availabilityZone": "1", + "clusterId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/clusters/clusterName", + "powerState": "On", + "bareMetalMachineId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/bareMetalMachines/bareMetalMachineName", + "detailedStatus": "Available", + "detailedStatusMessage": "VM is up and healthy", + "volumes": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName" + ] + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_PowerOff.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_PowerOff.json new file mode 100644 index 000000000000..b32de6fff9cc --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_PowerOff.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName", + "virtualMachinePowerOffParameters": { + "skipShutdown": "True" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Reimage.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Reimage.json new file mode 100644 index 000000000000..1e2c41ab87ee --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Reimage.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Restart.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Restart.json new file mode 100644 index 000000000000..1e2c41ab87ee --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Restart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Start.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Start.json new file mode 100644 index 000000000000..1e2c41ab87ee --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/VirtualMachines_Start.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "virtualMachineName": "virtualMachineName" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Create.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Create.json new file mode 100644 index 000000000000..6995ef58f2ad --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Create.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "volumeName": "volumeName", + "volumeParameters": { + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Delete.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..a38645e61d12 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "volumeName": "volumeName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.NetworkCloud/locations/location/operationStatuses/operationId?api-version=2023-07-01" + } + }, + "204": {} + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Get.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..6844830735ee --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "volumeName": "volumeName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListByResourceGroup.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListByResourceGroup.json new file mode 100644 index 000000000000..569e07487a88 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListBySubscription.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListBySubscription.json new file mode 100644 index 000000000000..14e81bd0e3cb --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_ListBySubscription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + } + ], + "nextLink": "https://fully.qualified.hyperlink" + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Patch.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Patch.json new file mode 100644 index 000000000000..b288520dc349 --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/examples/Volumes_Patch.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01", + "subscriptionId": "123e4567-e89b-12d3-a456-426655440000", + "resourceGroupName": "resourceGroupName", + "volumeName": "volumeName", + "volumeUpdateParameters": { + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/volumes/volumeName", + "name": "volumeName", + "systemData": { + "createdAt": "2021-01-22T13:27:03.008Z", + "createdBy": "identityA", + "createdByType": "Application", + "lastModifiedAt": "2021-01-22T13:29:03.001Z", + "lastModifiedBy": "identityB", + "lastModifiedByType": "User" + }, + "type": "Microsoft.NetworkCloud/volumes", + "location": "location", + "tags": { + "key1": "myvalue1", + "key2": "myvalue2" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" + }, + "properties": { + "sizeMiB": 10000, + "provisioningState": "Succeeded", + "serialNumber": "XXXX-XXXX-XXXX-XXXX", + "attachedTo": [ + "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/virtualMachines/virtualMachineName" + ], + "detailedStatus": "Active", + "detailedStatusMessage": "Volume is available" + } + } + } + } +} diff --git a/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/networkcloud.json b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/networkcloud.json new file mode 100644 index 000000000000..a4057f96c05f --- /dev/null +++ b/specification/networkcloud/resource-manager/Microsoft.NetworkCloud/stable/2023-07-01/networkcloud.json @@ -0,0 +1,12226 @@ +{ + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "description": "The Network Cloud APIs provide management of the on-premises clusters and their resources, such as, racks, bare metal hosts, virtual machines, workload networks and more.", + "title": "NetworkCloud", + "version": "2023-07-01" + }, + "host": "management.azure.com", + "paths": { + "/providers/Microsoft.NetworkCloud/operations": { + "get": { + "description": "Get a list of all available resource provider operations. It contains a URL link to get the next set of results.", + "summary": "List resource provider operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "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-examples": { + "List resource provider operations": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/bareMetalMachines": { + "get": { + "description": "Get a list of bare metal machines in the provided subscription.", + "summary": "List bare metal machines in the subscription.", + "operationId": "BareMetalMachines_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/BareMetalMachineList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List bare metal machines for subscription": { + "$ref": "./examples/BareMetalMachines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/cloudServicesNetworks": { + "get": { + "description": "Get a list of cloud services networks in the provided subscription.", + "summary": "List cloud services networks in the subscription.", + "operationId": "CloudServicesNetworks_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/CloudServicesNetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List cloud services networks for subscription": { + "$ref": "./examples/CloudServicesNetworks_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/clusterManagers": { + "get": { + "description": "Get a list of cluster managers in the provided subscription.", + "summary": "List cluster managers in the subscription.", + "operationId": "ClusterManagers_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/ClusterManagerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List cluster managers for subscription": { + "$ref": "./examples/ClusterManagers_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/clusters": { + "get": { + "description": "Get a list of clusters in the provided subscription.", + "summary": "List clusters in the subscription.", + "operationId": "Clusters_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List clusters for subscription": { + "$ref": "./examples/Clusters_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/kubernetesClusters": { + "get": { + "description": "Get a list of Kubernetes clusters in the provided subscription.", + "summary": "List Kubernetes clusters in the subscription.", + "operationId": "KubernetesClusters_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/KubernetesClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Kubernetes clusters for subscription": { + "$ref": "./examples/KubernetesClusters_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/l2Networks": { + "get": { + "description": "Get a list of layer 2 (L2) networks in the provided subscription.", + "summary": "List layer 2 (L2) networks in the subscription.", + "operationId": "L2Networks_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/L2NetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List L2 networks for subscription": { + "$ref": "./examples/L2Networks_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/l3Networks": { + "get": { + "description": "Get a list of layer 3 (L3) networks in the provided subscription.", + "summary": "List layer 3 (L3) networks in the subscription.", + "operationId": "L3Networks_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/L3NetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List L3 networks for subscription": { + "$ref": "./examples/L3Networks_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/rackSkus": { + "get": { + "description": "Get a list of rack SKUs in the provided subscription.", + "summary": "List rack SKUs in the subscription.", + "operationId": "RackSkus_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/RackSkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List rack SKUs for subscription": { + "$ref": "./examples/RackSkus_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/rackSkus/{rackSkuName}": { + "get": { + "description": "Get the properties of the provided rack SKU.", + "summary": "Retrieve the rack SKU.", + "operationId": "RackSkus_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/RackSkuNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RackSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get rack SKU resource": { + "$ref": "./examples/RackSkus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/racks": { + "get": { + "description": "Get a list of racks in the provided subscription.", + "summary": "List racks in the subscription.", + "operationId": "Racks_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/RackList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List racks for subscription": { + "$ref": "./examples/Racks_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/storageAppliances": { + "get": { + "description": "Get a list of storage appliances in the provided subscription.", + "summary": "List storage appliances in the subscription.", + "operationId": "StorageAppliances_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/StorageApplianceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List storage appliances for subscription": { + "$ref": "./examples/StorageAppliances_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/trunkedNetworks": { + "get": { + "description": "Get a list of trunked networks in the provided subscription.", + "summary": "List trunked networks in the subscription.", + "operationId": "TrunkedNetworks_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/TrunkedNetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List trunked networks for subscription": { + "$ref": "./examples/TrunkedNetworks_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/virtualMachines": { + "get": { + "description": "Get a list of virtual machines in the provided subscription.", + "summary": "List virtual machines in the subscription.", + "operationId": "VirtualMachines_ListBySubscription", + "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", + "schema": { + "$ref": "#/definitions/VirtualMachineList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List virtual machines for subscription": { + "$ref": "./examples/VirtualMachines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/volumes": { + "get": { + "description": "Get a list of volumes in the provided subscription.", + "summary": "List volumes in the subscription.", + "operationId": "Volumes_ListBySubscription", + "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", + "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": { + "List volume for subscription": { + "$ref": "./examples/Volumes_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines": { + "get": { + "description": "Get a list of bare metal machines in the provided resource group.", + "summary": "List bare metal machines in the resource group.", + "operationId": "BareMetalMachines_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/BareMetalMachineList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List bare metal machines for resource group": { + "$ref": "./examples/BareMetalMachines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}": { + "get": { + "description": "Get properties of the provided bare metal machine.", + "summary": "Retrieve the bare metal machine.", + "operationId": "BareMetalMachines_Get", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get bare metal machine": { + "$ref": "./examples/BareMetalMachines_Get.json" + } + } + }, + "put": { + "description": "Create a new bare metal machine or update the properties of the existing one.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Create or update the bare metal machine.", + "operationId": "BareMetalMachines_CreateOrUpdate", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalMachine" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BareMetalMachine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update bare metal machine": { + "$ref": "./examples/BareMetalMachines_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided bare metal machine.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Delete the bare metal machine.", + "operationId": "BareMetalMachines_Delete", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete bare metal machine": { + "$ref": "./examples/BareMetalMachines_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of the provided bare metal machine, or update tags associated with the bare metal machine. Properties and tag updates can be done independently.", + "summary": "Patch the bare metal machine.", + "operationId": "BareMetalMachines_Update", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BareMetalMachinePatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachine" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/BareMetalMachine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch bare metal machine": { + "$ref": "./examples/BareMetalMachines_Patch.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.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/cordon": { + "post": { + "description": "Cordon the provided bare metal machine's Kubernetes node.", + "summary": "Cordon the bare metal machine.", + "operationId": "BareMetalMachines_Cordon", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineCordonParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BareMetalMachineCordonParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Cordon bare metal machine": { + "$ref": "./examples/BareMetalMachines_Cordon.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/powerOff": { + "post": { + "description": "Power off the provided bare metal machine.", + "summary": "Power off the bare metal machine.", + "operationId": "BareMetalMachines_PowerOff", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachinePowerOffParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BareMetalMachinePowerOffParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Power off bare metal machine": { + "$ref": "./examples/BareMetalMachines_PowerOff.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/reimage": { + "post": { + "description": "Reimage the provided bare metal machine.", + "summary": "Reimage the bare metal machine.", + "operationId": "BareMetalMachines_Reimage", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Reimage bare metal machine": { + "$ref": "./examples/BareMetalMachines_Reimage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/replace": { + "post": { + "description": "Replace the provided bare metal machine.", + "summary": "Replace (service) the bare metal machine.", + "operationId": "BareMetalMachines_Replace", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineReplaceParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BareMetalMachineReplaceParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Replace bare metal machine": { + "$ref": "./examples/BareMetalMachines_Replace.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/restart": { + "post": { + "description": "Restart the provided bare metal machine.", + "summary": "Restart the bare metal machine.", + "operationId": "BareMetalMachines_Restart", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart bare metal machine": { + "$ref": "./examples/BareMetalMachines_Restart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runCommand": { + "post": { + "description": "Run the command or the script on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available.", + "summary": "Run the command on the bare metal machine.", + "operationId": "BareMetalMachines_RunCommand", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineRunCommandParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalMachineRunCommandParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Run command on bare metal machine": { + "$ref": "./examples/BareMetalMachines_RunCommand.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runDataExtracts": { + "post": { + "description": "Run one or more data extractions on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available.", + "summary": "Run data extraction for a bare metal machine.", + "operationId": "BareMetalMachines_RunDataExtracts", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineRunDataExtractsParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalMachineRunDataExtractsParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Run data extraction on bare metal machine": { + "$ref": "./examples/BareMetalMachines_RunDataExtracts.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runReadCommands": { + "post": { + "description": "Run one or more read-only commands on the provided bare metal machine. The URL to storage account with the command execution results and the command exit code can be retrieved from the operation status API once available.", + "summary": "Run read-only commands against a bare metal machine.", + "operationId": "BareMetalMachines_RunReadCommands", + "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/BareMetalMachineNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineRunReadCommandsParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalMachineRunReadCommandsParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Run and retrieve output from read only commands on bare metal machine.": { + "$ref": "./examples/BareMetalMachines_RunReadCommands.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/start": { + "post": { + "description": "Start the provided bare metal machine.", + "summary": "Start the bare metal machine.", + "operationId": "BareMetalMachines_Start", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start bare metal machine": { + "$ref": "./examples/BareMetalMachines_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/uncordon": { + "post": { + "description": "Uncordon the provided bare metal machine's Kubernetes node.", + "summary": "Uncordon the bare metal machine.", + "operationId": "BareMetalMachines_Uncordon", + "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/BareMetalMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Uncordon bare metal machine": { + "$ref": "./examples/BareMetalMachines_Uncordon.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/cloudServicesNetworks": { + "get": { + "description": "Get a list of cloud services networks in the provided resource group.", + "summary": "List cloud services networks in the resource group.", + "operationId": "CloudServicesNetworks_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/CloudServicesNetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List cloud services networks for resource group": { + "$ref": "./examples/CloudServicesNetworks_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/cloudServicesNetworks/{cloudServicesNetworkName}": { + "get": { + "description": "Get properties of the provided cloud services network.", + "summary": "Retrieve the cloud services network.", + "operationId": "CloudServicesNetworks_Get", + "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/CloudServicesNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get cloud services network": { + "$ref": "./examples/CloudServicesNetworks_Get.json" + } + } + }, + "put": { + "description": "Create a new cloud services network or update the properties of the existing cloud services network.", + "summary": "Create or update the cloud services network.", + "operationId": "CloudServicesNetworks_CreateOrUpdate", + "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/CloudServicesNetworkNameParameter" + }, + { + "description": "The request body.", + "name": "cloudServicesNetworkParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update cloud services network": { + "$ref": "./examples/CloudServicesNetworks_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided cloud services network.", + "summary": "Delete the cloud services network.", + "operationId": "CloudServicesNetworks_Delete", + "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/CloudServicesNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete cloud services network": { + "$ref": "./examples/CloudServicesNetworks_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update properties of the provided cloud services network, or update the tags associated with it. Properties and tag updates can be done independently.", + "summary": "Patch the cloud services network.", + "operationId": "CloudServicesNetworks_Update", + "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/CloudServicesNetworkNameParameter" + }, + { + "description": "The request body.", + "name": "cloudServicesNetworkUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/CloudServicesNetworkPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/CloudServicesNetwork" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch cloud services network": { + "$ref": "./examples/CloudServicesNetworks_Patch.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.NetworkCloud/clusterManagers": { + "get": { + "description": "Get a list of cluster managers in the provided resource group.", + "summary": "List cluster managers in the resource group.", + "operationId": "ClusterManagers_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/ClusterManagerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List cluster managers for resource group": { + "$ref": "./examples/ClusterManagers_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusterManagers/{clusterManagerName}": { + "get": { + "description": "Get the properties of the provided cluster manager.", + "summary": "Retrieve the cluster manager.", + "operationId": "ClusterManagers_Get", + "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/ClusterManagerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get cluster manager": { + "$ref": "./examples/ClusterManagers_Get.json" + } + } + }, + "put": { + "description": "Create a new cluster manager or update properties of the cluster manager if it exists.", + "summary": "Create or update the cluster manager.", + "operationId": "ClusterManagers_CreateOrUpdate", + "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/ClusterManagerNameParameter" + }, + { + "description": "The request body.", + "name": "clusterManagerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterManager" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterManager" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ClusterManager" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update cluster manager": { + "$ref": "./examples/ClusterManagers_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided cluster manager.", + "summary": "Delete the cluster manager.", + "operationId": "ClusterManagers_Delete", + "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/ClusterManagerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete cluster manager": { + "$ref": "./examples/ClusterManagers_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of the provided cluster manager, or update the tags assigned to the cluster manager. Properties and tag updates can be done independently.", + "summary": "Patch the cluster manager.", + "operationId": "ClusterManagers_Update", + "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/ClusterManagerNameParameter" + }, + { + "description": "The request body.", + "name": "clusterManagerUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ClusterManagerPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch cluster manager": { + "$ref": "./examples/ClusterManagers_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters": { + "get": { + "description": "Get a list of clusters in the provided resource group.", + "summary": "List clusters in the resource group.", + "operationId": "Clusters_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List clusters for resource group": { + "$ref": "./examples/Clusters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}": { + "get": { + "description": "Get properties of the provided cluster.", + "summary": "Retrieve the cluster.", + "operationId": "Clusters_Get", + "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/ClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get cluster": { + "$ref": "./examples/Clusters_Get.json" + } + } + }, + "put": { + "description": "Create a new cluster or update the properties of the cluster if it exists.", + "summary": "Create or update the cluster.", + "operationId": "Clusters_CreateOrUpdate", + "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/ClusterNameParameter" + }, + { + "description": "The request body.", + "name": "clusterParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Cluster" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update cluster": { + "$ref": "./examples/Clusters_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided cluster.", + "summary": "Delete the cluster.", + "operationId": "Clusters_Delete", + "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/ClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete cluster": { + "$ref": "./examples/Clusters_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch the properties of the provided cluster, or update the tags associated with the cluster. Properties and tag updates can be done independently.", + "summary": "Patch the cluster.", + "operationId": "Clusters_Update", + "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/ClusterNameParameter" + }, + { + "description": "The request body.", + "name": "clusterUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ClusterPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Cluster" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch cluster AggregatorOrSingleRackDefinition": { + "$ref": "./examples/Clusters_Patch_AggregatorOrSingleRackDefinition.json" + }, + "Patch cluster location": { + "$ref": "./examples/Clusters_Patch_Location.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.NetworkCloud/clusters/{clusterName}/bareMetalMachineKeySets": { + "get": { + "description": "Get a list of bare metal machine key sets for the provided cluster.", + "summary": "List bare metal machine key sets of the cluster.", + "operationId": "BareMetalMachineKeySets_ListByCluster", + "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/ClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List bare metal machine key sets of the cluster": { + "$ref": "./examples/BareMetalMachineKeySets_ListByCluster.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bareMetalMachineKeySets/{bareMetalMachineKeySetName}": { + "get": { + "description": "Get bare metal machine key set of the provided cluster.", + "summary": "Retrieve the bare metal machine key set of the cluster.", + "operationId": "BareMetalMachineKeySets_Get", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BareMetalMachineKeySetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get bare metal machine key set of cluster": { + "$ref": "./examples/BareMetalMachineKeySets_Get.json" + } + } + }, + "put": { + "description": "Create a new bare metal machine key set or update the existing one for the provided cluster.", + "summary": "Create or update the bare metal machine key set of the cluster.", + "operationId": "BareMetalMachineKeySets_CreateOrUpdate", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BareMetalMachineKeySetNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineKeySetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update bare metal machine key set of cluster": { + "$ref": "./examples/BareMetalMachineKeySets_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the bare metal machine key set of the provided cluster.", + "summary": "Delete the bare metal machine key set of the cluster.", + "operationId": "BareMetalMachineKeySets_Delete", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BareMetalMachineKeySetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete bare metal machine key set of cluster": { + "$ref": "./examples/BareMetalMachineKeySets_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of bare metal machine key set for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently.", + "summary": "Patch bare metal machine key set of the cluster.", + "operationId": "BareMetalMachineKeySets_Update", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BareMetalMachineKeySetNameParameter" + }, + { + "description": "The request body.", + "name": "bareMetalMachineKeySetUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySetPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/BareMetalMachineKeySet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch bare metal machine key set of cluster": { + "$ref": "./examples/BareMetalMachineKeySets_Patch.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.NetworkCloud/clusters/{clusterName}/bmcKeySets": { + "get": { + "description": "Get a list of baseboard management controller key sets for the provided cluster.", + "summary": "List baseboard management controller key sets of the cluster.", + "operationId": "BmcKeySets_ListByCluster", + "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/ClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BmcKeySetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List baseboard management controller key sets of the cluster": { + "$ref": "./examples/BmcKeySets_ListByCluster.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bmcKeySets/{bmcKeySetName}": { + "get": { + "description": "Get baseboard management controller key set of the provided cluster.", + "summary": "Retrieve the baseboard management controller key set of the cluster.", + "operationId": "BmcKeySets_Get", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BmcKeySetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BmcKeySet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get baseboard management controller key set of cluster": { + "$ref": "./examples/BmcKeySets_Get.json" + } + } + }, + "put": { + "description": "Create a new baseboard management controller key set or update the existing one for the provided cluster.", + "summary": "Create or update the baseboard management controller key set of the cluster.", + "operationId": "BmcKeySets_CreateOrUpdate", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BmcKeySetNameParameter" + }, + { + "description": "The request body.", + "name": "bmcKeySetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BmcKeySet" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BmcKeySet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BmcKeySet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update baseboard management controller key set of cluster": { + "$ref": "./examples/BmcKeySets_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the baseboard management controller key set of the provided cluster.", + "summary": "Delete the baseboard management controller key set of the cluster.", + "operationId": "BmcKeySets_Delete", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BmcKeySetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete baseboard management controller key set of cluster": { + "$ref": "./examples/BmcKeySets_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of baseboard management controller key set for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently.", + "summary": "Patch baseboard management controller key set of the cluster.", + "operationId": "BmcKeySets_Update", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/BmcKeySetNameParameter" + }, + { + "description": "The request body.", + "name": "bmcKeySetUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/BmcKeySetPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BmcKeySet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/BmcKeySet" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch baseboard management controller key set of cluster": { + "$ref": "./examples/BmcKeySets_Patch.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.NetworkCloud/clusters/{clusterName}/deploy": { + "post": { + "description": "Deploy the cluster to the provided rack.", + "summary": "Deploy the cluster to the rack.", + "operationId": "Clusters_Deploy", + "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/ClusterNameParameter" + }, + { + "description": "The request body.", + "name": "clusterDeployParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ClusterDeployParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deploy cluster": { + "$ref": "./examples/Clusters_Deploy.json" + }, + "Deploy cluster skipping validation": { + "$ref": "./examples/Clusters_Deploy_SkipValidation.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/metricsConfigurations": { + "get": { + "description": "Get a list of metrics configurations for the provided cluster.", + "summary": "List metrics configurations of the cluster.", + "operationId": "MetricsConfigurations_ListByCluster", + "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/ClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List metrics configurations of the cluster": { + "$ref": "./examples/ClusterMetricsConfigurations_ListByCluster.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/metricsConfigurations/{metricsConfigurationName}": { + "get": { + "description": "Get metrics configuration of the provided cluster.", + "summary": "Retrieve the metrics configuration of the cluster.", + "operationId": "MetricsConfigurations_Get", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/MetricsConfigurationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get metrics configuration of cluster": { + "$ref": "./examples/ClusterMetricsConfigurations_Get.json" + } + } + }, + "put": { + "description": "Create new or update the existing metrics configuration of the provided cluster.", + "summary": "Create or update metrics configuration of the cluster.", + "operationId": "MetricsConfigurations_CreateOrUpdate", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/MetricsConfigurationName" + }, + { + "description": "The request body.", + "name": "metricsConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update metrics configuration of cluster": { + "$ref": "./examples/ClusterMetricsConfigurations_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the metrics configuration of the provided cluster.", + "summary": "Delete the metrics configuration of the cluster.", + "operationId": "MetricsConfigurations_Delete", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/MetricsConfigurationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete metrics configuration of cluster": { + "$ref": "./examples/ClusterMetricsConfigurations_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of metrics configuration for the provided cluster, or update the tags associated with it. Properties and tag updates can be done independently.", + "summary": "Patch metrics configuration of the cluster.", + "operationId": "MetricsConfigurations_Update", + "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/ClusterNameParameter" + }, + { + "$ref": "#/parameters/MetricsConfigurationName" + }, + { + "description": "The request body.", + "name": "metricsConfigurationUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfigurationPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch metrics configuration of cluster": { + "$ref": "./examples/ClusterMetricsConfigurations_Patch.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.NetworkCloud/clusters/{clusterName}/updateVersion": { + "post": { + "description": "Update the version of the provided cluster to one of the available supported versions.", + "summary": "Update the cluster version.", + "operationId": "Clusters_UpdateVersion", + "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/ClusterNameParameter" + }, + { + "description": "The request body.", + "name": "clusterUpdateVersionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateVersionParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update cluster version": { + "$ref": "./examples/Clusters_UpdateVersion.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters": { + "get": { + "description": "Get a list of Kubernetes clusters in the provided resource group.", + "summary": "List Kubernetes clusters in the resource group.", + "operationId": "KubernetesClusters_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/KubernetesClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Kubernetes clusters for resource group": { + "$ref": "./examples/KubernetesClusters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}": { + "get": { + "description": "Get properties of the provided the Kubernetes cluster.", + "summary": "Retrieve the Kubernetes cluster.", + "operationId": "KubernetesClusters_Get", + "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/KubernetesClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubernetesCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Kubernetes cluster": { + "$ref": "./examples/KubernetesClusters_Get.json" + } + } + }, + "put": { + "description": "Create a new Kubernetes cluster or update the properties of the existing one.", + "summary": "Create or update the Kubernetes cluster.", + "operationId": "KubernetesClusters_CreateOrUpdate", + "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/KubernetesClusterNameParameter" + }, + { + "description": "The request body.", + "name": "kubernetesClusterParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KubernetesCluster" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubernetesCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/KubernetesCluster" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Kubernetes cluster": { + "$ref": "./examples/KubernetesClusters_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided Kubernetes cluster.", + "summary": "Delete the Kubernetes cluster.", + "operationId": "KubernetesClusters_Delete", + "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/KubernetesClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Kubernetes cluster": { + "$ref": "./examples/KubernetesClusters_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch the properties of the provided Kubernetes cluster, or update the tags associated with the Kubernetes cluster. Properties and tag updates can be done independently.", + "summary": "Patch the Kubernetes cluster.", + "operationId": "KubernetesClusters_Update", + "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/KubernetesClusterNameParameter" + }, + { + "description": "The request body.", + "name": "kubernetesClusterUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/KubernetesClusterPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubernetesCluster" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/KubernetesCluster" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Kubernetes cluster": { + "$ref": "./examples/KubernetesClusters_Patch.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.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/agentPools": { + "get": { + "description": "Get a list of agent pools for the provided Kubernetes cluster.", + "summary": "List agent pools of the Kubernetes cluster.", + "operationId": "AgentPools_ListByKubernetesCluster", + "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/KubernetesClusterNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List agent pools of the Kubernetes cluster": { + "$ref": "./examples/AgentPools_ListByKubernetesCluster.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/agentPools/{agentPoolName}": { + "get": { + "description": "Get properties of the provided Kubernetes cluster agent pool.", + "summary": "Retrieve the Kubernetes cluster agent pool.", + "operationId": "AgentPools_Get", + "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/KubernetesClusterNameParameter" + }, + { + "$ref": "#/parameters/AgentPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Kubernetes cluster agent pool": { + "$ref": "./examples/AgentPools_Get.json" + } + } + }, + "put": { + "description": "Create a new Kubernetes cluster agent pool or update the properties of the existing one.", + "summary": "Create or update the Kubernetes cluster agent pool.", + "operationId": "AgentPools_CreateOrUpdate", + "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/KubernetesClusterNameParameter" + }, + { + "$ref": "#/parameters/AgentPoolNameParameter" + }, + { + "description": "The request body.", + "name": "agentPoolParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Kubernetes cluster agent pool": { + "$ref": "./examples/AgentPools_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided Kubernetes cluster agent pool.", + "summary": "Delete the Kubernetes cluster agent pool.", + "operationId": "AgentPools_Delete", + "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/KubernetesClusterNameParameter" + }, + { + "$ref": "#/parameters/AgentPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Kubernetes cluster agent pool": { + "$ref": "./examples/AgentPools_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch the properties of the provided Kubernetes cluster agent pool, or update the tags associated with the Kubernetes cluster agent pool. Properties and tag updates can be done independently.", + "summary": "Patch the Kubernetes cluster agent pool.", + "operationId": "AgentPools_Update", + "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/KubernetesClusterNameParameter" + }, + { + "$ref": "#/parameters/AgentPoolNameParameter" + }, + { + "description": "The request body.", + "name": "agentPoolUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/AgentPoolPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Kubernetes cluster agent pool": { + "$ref": "./examples/AgentPools_Patch.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.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/restartNode": { + "post": { + "description": "Restart a targeted node of a Kubernetes cluster.", + "summary": "Restart a targeted node.", + "operationId": "KubernetesClusters_RestartNode", + "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/KubernetesClusterNameParameter" + }, + { + "description": "The request body.", + "name": "kubernetesClusterRestartNodeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KubernetesClusterRestartNodeParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart a Kubernetes cluster node": { + "$ref": "./examples/KubernetesClusters_RestartNode.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l2Networks": { + "get": { + "description": "Get a list of layer 2 (L2) networks in the provided resource group.", + "summary": "List layer 2 (L2) networks in the resource group.", + "operationId": "L2Networks_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/L2NetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List L2 networks for resource group": { + "$ref": "./examples/L2Networks_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l2Networks/{l2NetworkName}": { + "get": { + "description": "Get properties of the provided layer 2 (L2) network.", + "summary": "Retrieve the layer 2 (L2) network.", + "operationId": "L2Networks_Get", + "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/L2NetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L2Network" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get L2 network": { + "$ref": "./examples/L2Networks_Get.json" + } + } + }, + "put": { + "description": "Create a new layer 2 (L2) network or update the properties of the existing network.", + "summary": "Create or update the layer 2 (L2) network.", + "operationId": "L2Networks_CreateOrUpdate", + "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/L2NetworkNameParameter" + }, + { + "description": "The request body.", + "name": "l2NetworkParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/L2Network" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L2Network" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/L2Network" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update L2 network": { + "$ref": "./examples/L2Networks_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided layer 2 (L2) network.", + "summary": "Delete the layer 2 (L2) network.", + "operationId": "L2Networks_Delete", + "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/L2NetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete L2 network": { + "$ref": "./examples/L2Networks_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update tags associated with the provided layer 2 (L2) network.", + "summary": "Patch the layer 2 (L2) network.", + "operationId": "L2Networks_Update", + "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/L2NetworkNameParameter" + }, + { + "description": "The request body.", + "name": "l2NetworkUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/L2NetworkPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L2Network" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch L2 network": { + "$ref": "./examples/L2Networks_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l3Networks": { + "get": { + "description": "Get a list of layer 3 (L3) networks in the provided resource group.", + "summary": "List layer 3 (L3) networks in the resource group.", + "operationId": "L3Networks_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/L3NetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List L3 networks for resource group": { + "$ref": "./examples/L3Networks_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l3Networks/{l3NetworkName}": { + "get": { + "description": "Get properties of the provided layer 3 (L3) network.", + "summary": "Retrieve the layer 3 (L3) network.", + "operationId": "L3Networks_Get", + "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/L3NetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L3Network" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get L3network": { + "$ref": "./examples/L3Networks_Get.json" + } + } + }, + "put": { + "description": "Create a new layer 3 (L3) network or update the properties of the existing network.", + "summary": "Create or update the layer 3 (L3) network.", + "operationId": "L3Networks_CreateOrUpdate", + "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/L3NetworkNameParameter" + }, + { + "description": "The request body.", + "name": "l3NetworkParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/L3Network" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L3Network" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/L3Network" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update L3 network": { + "$ref": "./examples/L3Networks_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided layer 3 (L3) network.", + "summary": "Delete the layer 3 (L3) network.", + "operationId": "L3Networks_Delete", + "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/L3NetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete L3 network": { + "$ref": "./examples/L3Networks_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update tags associated with the provided layer 3 (L3) network.", + "summary": "Patch the layer 3 (L3) network.", + "operationId": "L3Networks_Update", + "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/L3NetworkNameParameter" + }, + { + "description": "The request body.", + "name": "l3NetworkUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/L3NetworkPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/L3Network" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch L3 network": { + "$ref": "./examples/L3Networks_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/racks": { + "get": { + "description": "Get a list of racks in the provided resource group.", + "summary": "List racks in the resource group.", + "operationId": "Racks_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/RackList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List racks for resource group": { + "$ref": "./examples/Racks_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/racks/{rackName}": { + "get": { + "description": "Get properties of the provided rack.", + "summary": "Retrieve the rack.", + "operationId": "Racks_Get", + "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/RackNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rack" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get rack": { + "$ref": "./examples/Racks_Get.json" + } + } + }, + "put": { + "description": "Create a new rack or update properties of the existing one.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Create or update the rack.", + "operationId": "Racks_CreateOrUpdate", + "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/RackNameParameter" + }, + { + "description": "The request body.", + "name": "rackParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Rack" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rack" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Rack" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update rack": { + "$ref": "./examples/Racks_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided rack.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Delete the rack.", + "operationId": "Racks_Delete", + "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/RackNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete rack": { + "$ref": "./examples/Racks_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch properties of the provided rack, or update the tags associated with the rack. Properties and tag updates can be done independently.", + "summary": "Patch the rack.", + "operationId": "Racks_Update", + "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/RackNameParameter" + }, + { + "description": "The request body.", + "name": "rackUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/RackPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rack" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Rack" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch rack": { + "$ref": "./examples/Racks_Patch.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.NetworkCloud/storageAppliances": { + "get": { + "description": "Get a list of storage appliances in the provided resource group.", + "summary": "List storage appliances in the resource group.", + "operationId": "StorageAppliances_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/StorageApplianceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List storage appliances for resource group": { + "$ref": "./examples/StorageAppliances_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}": { + "get": { + "description": "Get properties of the provided storage appliance.", + "summary": "Retrieve the storage appliance.", + "operationId": "StorageAppliances_Get", + "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/StorageApplianceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageAppliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get storage appliance": { + "$ref": "./examples/StorageAppliances_Get.json" + } + } + }, + "put": { + "description": "Create a new storage appliance or update the properties of the existing one.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Create or update the storage appliance.", + "operationId": "StorageAppliances_CreateOrUpdate", + "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/StorageApplianceNameParameter" + }, + { + "description": "The request body.", + "name": "storageApplianceParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAppliance" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageAppliance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StorageAppliance" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update storage appliance": { + "$ref": "./examples/StorageAppliances_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided storage appliance.\nAll customer initiated requests will be rejected as the life cycle of this resource is managed by the system.", + "summary": "Delete the storage appliance.", + "operationId": "StorageAppliances_Delete", + "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/StorageApplianceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete storage appliance": { + "$ref": "./examples/StorageAppliances_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update properties of the provided storage appliance, or update tags associated with the storage appliance Properties and tag updates can be done independently.", + "summary": "Patch the storage appliance.", + "operationId": "StorageAppliances_Update", + "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/StorageApplianceNameParameter" + }, + { + "description": "The request body.", + "name": "storageApplianceUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/StorageAppliancePatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageAppliance" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/StorageAppliance" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch storage appliance": { + "$ref": "./examples/StorageAppliances_Patch.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.NetworkCloud/storageAppliances/{storageApplianceName}/disableRemoteVendorManagement": { + "post": { + "description": "Disable remote vendor management of the provided storage appliance.", + "summary": "Turn off remote vendor management for a storage appliance, if supported.", + "operationId": "StorageAppliances_DisableRemoteVendorManagement", + "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/StorageApplianceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Turn off remote vendor management for storage appliance": { + "$ref": "./examples/StorageAppliances_DisableRemoteVendorManagement.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/enableRemoteVendorManagement": { + "post": { + "description": "Enable remote vendor management of the provided storage appliance.", + "summary": "Turn on remote vendor management for a storage appliance, if supported.", + "operationId": "StorageAppliances_EnableRemoteVendorManagement", + "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/StorageApplianceNameParameter" + }, + { + "description": "The request body.", + "name": "storageApplianceEnableRemoteVendorManagementParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/StorageApplianceEnableRemoteVendorManagementParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Turn on remote vendor management for storage appliance": { + "$ref": "./examples/StorageAppliances_EnableRemoteVendorManagement.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/trunkedNetworks": { + "get": { + "description": "Get a list of trunked networks in the provided resource group.", + "summary": "List trunked networks in the resource group.", + "operationId": "TrunkedNetworks_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/TrunkedNetworkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Trunked networks for resource group": { + "$ref": "./examples/TrunkedNetworks_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/trunkedNetworks/{trunkedNetworkName}": { + "get": { + "description": "Get properties of the provided trunked network.", + "summary": "Retrieve the trunked network.", + "operationId": "TrunkedNetworks_Get", + "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/TrunkedNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrunkedNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Trunked network": { + "$ref": "./examples/TrunkedNetworks_Get.json" + } + } + }, + "put": { + "description": "Create a new trunked network or update the properties of the existing trunked network.", + "summary": "Create or update the trunked network.", + "operationId": "TrunkedNetworks_CreateOrUpdate", + "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/TrunkedNetworkNameParameter" + }, + { + "description": "The request body.", + "name": "trunkedNetworkParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TrunkedNetwork" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrunkedNetwork" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/TrunkedNetwork" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update trunked network": { + "$ref": "./examples/TrunkedNetworks_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided trunked network.", + "summary": "Delete the trunked network.", + "operationId": "TrunkedNetworks_Delete", + "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/TrunkedNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete trunked network": { + "$ref": "./examples/TrunkedNetworks_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update tags associated with the provided trunked network.", + "summary": "Patch the trunked network.", + "operationId": "TrunkedNetworks_Update", + "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/TrunkedNetworkNameParameter" + }, + { + "description": "The request body.", + "name": "trunkedNetworkUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/TrunkedNetworkPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TrunkedNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch trunked network": { + "$ref": "./examples/TrunkedNetworks_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines": { + "get": { + "description": "Get a list of virtual machines in the provided resource group.", + "summary": "List virtual machines in the resource group.", + "operationId": "VirtualMachines_ListByResourceGroup", + "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", + "schema": { + "$ref": "#/definitions/VirtualMachineList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List virtual machines for resource group": { + "$ref": "./examples/VirtualMachines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}": { + "get": { + "description": "Get properties of the provided virtual machine.", + "summary": "Retrieve the virtual machine.", + "operationId": "VirtualMachines_Get", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get virtual machine": { + "$ref": "./examples/VirtualMachines_Get.json" + } + } + }, + "put": { + "description": "Create a new virtual machine or update the properties of the existing virtual machine.", + "summary": "Create or update the virtual machine.", + "operationId": "VirtualMachines_CreateOrUpdate", + "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/VirtualMachineNameParameter" + }, + { + "description": "The request body.", + "name": "virtualMachineParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update virtual machine": { + "$ref": "./examples/VirtualMachines_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided virtual machine.", + "summary": "Delete the virtual machine.", + "operationId": "VirtualMachines_Delete", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete virtual machine": { + "$ref": "./examples/VirtualMachines_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch the properties of the provided virtual machine, or update the tags associated with the virtual machine. Properties and tag updates can be done independently.", + "summary": "Patch the virtual machine.", + "operationId": "VirtualMachines_Update", + "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/VirtualMachineNameParameter" + }, + { + "description": "The request body.", + "name": "virtualMachineUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/VirtualMachinePatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/VirtualMachine" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch virtual machine": { + "$ref": "./examples/VirtualMachines_Patch.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.NetworkCloud/virtualMachines/{virtualMachineName}/consoles": { + "get": { + "description": "Get a list of consoles for the provided virtual machine.", + "summary": "List consoles of the virtual machine.", + "operationId": "Consoles_ListByVirtualMachine", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConsoleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List consoles of the virtual machine": { + "$ref": "./examples/Consoles_ListByVirtualMachine.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/consoles/{consoleName}": { + "get": { + "description": "Get properties of the provided virtual machine console.", + "summary": "Retrieve the virtual machine console.", + "operationId": "Consoles_Get", + "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/VirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Console" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get virtual machine console": { + "$ref": "./examples/Consoles_Get.json" + } + } + }, + "put": { + "description": "Create a new virtual machine console or update the properties of the existing virtual machine console.", + "summary": "Create or update the virtual machine console.", + "operationId": "Consoles_CreateOrUpdate", + "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/VirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "description": "The request body.", + "name": "consoleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Console" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Console" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Console" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update virtual machine console": { + "$ref": "./examples/Consoles_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided virtual machine console.", + "summary": "Delete the virtual machine console.", + "operationId": "Consoles_Delete", + "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/VirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete virtual machine console": { + "$ref": "./examples/Consoles_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Patch the properties of the provided virtual machine console, or update the tags associated with the virtual machine console. Properties and tag updates can be done independently.", + "summary": "Patch the virtual machine console.", + "operationId": "Consoles_Update", + "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/VirtualMachineNameParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "description": "The request body.", + "name": "consoleUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ConsolePatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Console" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Console" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch virtual machine console": { + "$ref": "./examples/Consoles_Patch.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.NetworkCloud/virtualMachines/{virtualMachineName}/powerOff": { + "post": { + "description": "Power off the provided virtual machine.", + "summary": "Power off the virtual machine.", + "operationId": "VirtualMachines_PowerOff", + "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/VirtualMachineNameParameter" + }, + { + "description": "The request body.", + "name": "virtualMachinePowerOffParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/VirtualMachinePowerOffParameters" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Power off virtual machine": { + "$ref": "./examples/VirtualMachines_PowerOff.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/reimage": { + "post": { + "description": "Reimage the provided virtual machine.", + "summary": "Reimage the virtual machine.", + "operationId": "VirtualMachines_Reimage", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Reimage virtual machine": { + "$ref": "./examples/VirtualMachines_Reimage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/restart": { + "post": { + "description": "Restart the provided virtual machine.", + "summary": "Restart the virtual machine.", + "operationId": "VirtualMachines_Restart", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart virtual machine": { + "$ref": "./examples/VirtualMachines_Restart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/start": { + "post": { + "description": "Start the provided virtual machine.", + "summary": "Start the virtual machine.", + "operationId": "VirtualMachines_Start", + "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/VirtualMachineNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start virtual machine": { + "$ref": "./examples/VirtualMachines_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-schema": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult", + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/volumes": { + "get": { + "description": "Get a list of volumes in the provided resource group.", + "summary": "List volumes in the resource group.", + "operationId": "Volumes_ListByResourceGroup", + "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", + "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": { + "List volumes for resource group": { + "$ref": "./examples/Volumes_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/volumes/{volumeName}": { + "get": { + "description": "Get properties of the provided volume.", + "summary": "Retrieve the volume.", + "operationId": "Volumes_Get", + "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/VolumeNameParameter" + } + ], + "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": { + "Get volume": { + "$ref": "./examples/Volumes_Get.json" + } + } + }, + "put": { + "description": "Create a new volume or update the properties of the existing one.", + "summary": "Create or update the volume.", + "operationId": "Volumes_CreateOrUpdate", + "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/VolumeNameParameter" + }, + { + "description": "The request body.", + "name": "volumeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Volume" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Volume" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Volume" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update volume": { + "$ref": "./examples/Volumes_Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "description": "Delete the provided volume.", + "summary": "Delete the volume.", + "operationId": "Volumes_Delete", + "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/VolumeNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The URL to retrieve the status of the asynchronous operation." + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete volume": { + "$ref": "./examples/Volumes_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "description": "Update tags associated with the provided volume.", + "summary": "Patch the volume.", + "operationId": "Volumes_Update", + "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/VolumeNameParameter" + }, + { + "description": "The request body.", + "name": "volumeUpdateParameters", + "in": "body", + "schema": { + "$ref": "#/definitions/VolumePatchParameters" + } + } + ], + "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": { + "Patch volume": { + "$ref": "./examples/Volumes_Patch.json" + } + } + } + } + }, + "definitions": { + "AadConfiguration": { + "type": "object", + "title": "AadConfiguration represents the Azure Active Directory Integration properties.", + "required": [ + "adminGroupObjectIds" + ], + "properties": { + "adminGroupObjectIds": { + "description": "The list of Azure Active Directory group object IDs that will have an administrative role on the Kubernetes cluster.", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AdministrativeCredentials": { + "type": "object", + "title": "AdministrativeCredentials represents the admin credentials for the device requiring password-based authentication.", + "required": [ + "username", + "password" + ], + "properties": { + "password": { + "description": "The password of the administrator of the device used during initialization.", + "type": "string", + "minLength": 1, + "x-ms-secret": true + }, + "username": { + "description": "The username of the administrator of the device used during initialization.", + "type": "string", + "minLength": 1 + } + } + }, + "AdministratorConfiguration": { + "type": "object", + "title": "AdministratorConfiguration represents the administrative credentials that will be applied to the control plane and agent pool nodes in Kubernetes clusters.", + "properties": { + "adminUsername": { + "description": "The user name for the administrator that will be applied to the operating systems that run Kubernetes nodes. If not supplied, a user name will be chosen by the service.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sshPublicKeys": { + "description": "The SSH configuration for the operating systems that run the nodes in the Kubernetes cluster. In some cases, specification of public keys may be required to produce a working environment.", + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AgentOptions": { + "type": "object", + "title": "AgentOptions are configurations that will be applied to each agent in an agent pool.", + "required": [ + "hugepagesCount" + ], + "properties": { + "hugepagesCount": { + "description": "The number of hugepages to allocate.", + "type": "integer", + "format": "int64" + }, + "hugepagesSize": { + "description": "The size of the hugepages to allocate.", + "type": "string", + "default": "2M", + "enum": [ + "2M", + "1G" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "HugepagesSize" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AgentPool": { + "type": "object", + "title": "AgentPool represents the agent pool of Kubernetes cluster.", + "required": [ + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/AgentPoolProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "AgentPoolConfiguration": { + "type": "object", + "title": "AgentPoolConfiguration specifies the configuration of a pool of nodes.", + "required": [ + "count", + "mode", + "vmSkuName" + ], + "properties": { + "administratorConfiguration": { + "$ref": "#/definitions/AdministratorConfiguration", + "description": "The administrator credentials to be used for the nodes in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "agentOptions": { + "$ref": "#/definitions/AgentOptions", + "description": "The configurations that will be applied to each agent in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "attachedNetworkConfiguration": { + "$ref": "#/definitions/AttachedNetworkConfiguration", + "description": "The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZones": { + "description": "The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64" + }, + "labels": { + "description": "The labels applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "mode": { + "description": "The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node.", + "type": "string", + "enum": [ + "System", + "User", + "NotApplicable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolMode" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "taints": { + "description": "The taints applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "The configuration of the agent pool." + }, + "vmSkuName": { + "description": "The name of the VM SKU that determines the size of resources allocated for node VMs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AgentPoolList": { + "type": "object", + "title": "AgentPoolList represents a list of Kubernetes cluster agent pools.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of agent pools.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + } + } + } + }, + "AgentPoolPatchParameters": { + "type": "object", + "title": "AgentPoolPatchParameters represents the body of the request to patch the Kubernetes cluster agent pool.", + "properties": { + "properties": { + "$ref": "#/definitions/AgentPoolPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AgentPoolPatchProperties": { + "type": "object", + "title": "AgentPoolPatchProperties represents the properties of an agent pool that can be modified.", + "properties": { + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "The configuration of the agent pool." + } + } + }, + "AgentPoolProperties": { + "type": "object", + "title": "AgentPoolProperties represents the properties of the Kubernetes cluster agent pool.", + "required": [ + "count", + "mode", + "vmSkuName" + ], + "properties": { + "administratorConfiguration": { + "$ref": "#/definitions/AdministratorConfiguration", + "description": "The administrator credentials to be used for the nodes in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "agentOptions": { + "$ref": "#/definitions/AgentOptions", + "description": "The configurations that will be applied to each agent in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "attachedNetworkConfiguration": { + "$ref": "#/definitions/AttachedNetworkConfiguration", + "description": "The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZones": { + "description": "The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64" + }, + "detailedStatus": { + "description": "The current status of the agent pool.", + "type": "string", + "enum": [ + "Available", + "Error", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "kubernetesVersion": { + "description": "The Kubernetes version running in this agent pool.", + "type": "string", + "readOnly": true + }, + "labels": { + "description": "The labels applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "mode": { + "description": "The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node.", + "type": "string", + "enum": [ + "System", + "User", + "NotApplicable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolMode" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the agent pool.", + "type": "string", + "enum": [ + "Accepted", + "Canceled", + "Deleting", + "Failed", + "InProgress", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolProvisioningState" + }, + "readOnly": true + }, + "taints": { + "description": "The taints applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "The configuration of the agent pool." + }, + "vmSkuName": { + "description": "The name of the VM SKU that determines the size of resources allocated for node VMs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "title": "AgentPoolUpgradeSettings specifies the upgrade settings for an agent pool.", + "properties": { + "maxSurge": { + "description": "The maximum number or percentage of nodes that are surged during upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1.", + "type": "string", + "default": "1" + } + } + }, + "AttachedNetworkConfiguration": { + "type": "object", + "title": "AttachedNetworkConfiguration represents the set of workload networks to attach to a resource.", + "properties": { + "l2Networks": { + "description": "The list of Layer 2 Networks and related configuration for attachment.", + "type": "array", + "items": { + "$ref": "#/definitions/L2NetworkAttachmentConfiguration" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "l3Networks": { + "description": "The list of Layer 3 Networks and related configuration for attachment.", + "type": "array", + "items": { + "$ref": "#/definitions/L3NetworkAttachmentConfiguration" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "trunkedNetworks": { + "description": "The list of Trunked Networks and related configuration for attachment.", + "type": "array", + "items": { + "$ref": "#/definitions/TrunkedNetworkAttachmentConfiguration" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AvailableUpgrade": { + "type": "object", + "title": "AvailableUpgrade represents an upgrade available for a Kubernetes cluster.", + "properties": { + "availabilityLifecycle": { + "description": "The version lifecycle indicator.", + "type": "string", + "enum": [ + "Preview", + "GenerallyAvailable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AvailabilityLifecycle" + }, + "readOnly": true + }, + "version": { + "description": "The version available for upgrading.", + "type": "string", + "readOnly": true + } + } + }, + "BareMetalMachine": { + "type": "object", + "title": "BareMetalMachine represents the physical machine in the rack.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/BareMetalMachineProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "BareMetalMachineCommandSpecification": { + "type": "object", + "title": "BareMetalMachineCommandSpecification represents the command and optional arguments to exercise against the bare metal machine.", + "required": [ + "command" + ], + "properties": { + "arguments": { + "description": "The list of string arguments that will be passed to the script in order as separate arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "command": { + "description": "The command to execute against the bare metal machine.", + "type": "string" + } + } + }, + "BareMetalMachineConfigurationData": { + "type": "object", + "title": "BareMetalMachineConfigurationData represents configuration for the bare metal machine.", + "required": [ + "rackSlot", + "bootMacAddress", + "bmcCredentials", + "bmcMacAddress", + "serialNumber" + ], + "properties": { + "bmcConnectionString": { + "description": "The connection string for the baseboard management controller including IP address and protocol.", + "type": "string", + "readOnly": true + }, + "bmcCredentials": { + "$ref": "#/definitions/AdministrativeCredentials", + "description": "The credentials of the baseboard management controller on this bare metal machine." + }, + "bmcMacAddress": { + "description": "The MAC address of the BMC for this machine.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "bootMacAddress": { + "description": "The MAC address associated with the PXE NIC card.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "machineDetails": { + "description": "The free-form additional information about the machine, e.g. an asset tag.", + "type": "string", + "maxLength": 256 + }, + "machineName": { + "description": "The user-provided name for the bare metal machine created from this specification.\nIf not provided, the machine name will be generated programmatically.", + "type": "string", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$" + }, + "rackSlot": { + "description": "The slot the physical machine is in the rack based on the BOM configuration.", + "type": "integer", + "format": "int64", + "maximum": 256, + "minimum": 1 + }, + "serialNumber": { + "description": "The serial number of the machine. Hardware suppliers may use an alternate value. For example, service tag.", + "type": "string", + "maxLength": 64 + } + } + }, + "BareMetalMachineCordonParameters": { + "type": "object", + "title": "BareMetalMachineCordonParameters represents the body of the request to evacuate workloads from node on a bare metal machine.", + "properties": { + "evacuate": { + "description": "The indicator of whether to evacuate the node workload when the bare metal machine is cordoned.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineEvacuate" + } + } + } + }, + "BareMetalMachineKeySet": { + "type": "object", + "title": "BareMetalMachineKeySet represents the bare metal machine key set.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/BareMetalMachineKeySetProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "BareMetalMachineKeySetList": { + "type": "object", + "title": "BareMetalMachineKeySetList represents a list of bare metal machine key sets.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of bare metal machine key sets.", + "type": "array", + "items": { + "$ref": "#/definitions/BareMetalMachineKeySet" + } + } + } + }, + "BareMetalMachineKeySetPatchParameters": { + "type": "object", + "title": "BareMetalMachineKeySetPatchParameters represents the body of the request to patch the bare metal machine key set.", + "properties": { + "properties": { + "$ref": "#/definitions/BareMetalMachineKeySetPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "BareMetalMachineKeySetPatchProperties": { + "type": "object", + "title": "BareMetalMachineKeySetPatchProperties represents the properties of bare metal machine key set that can be patched.", + "properties": { + "expiration": { + "description": "The date and time after which the users in this key set will be removed from the bare metal machines.", + "type": "string", + "format": "date-time" + }, + "jumpHostsAllowed": { + "description": "The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.", + "type": "array", + "items": { + "type": "string" + } + }, + "userList": { + "description": "The unique list of permitted users.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUser" + }, + "x-ms-identifiers": [ + "azureUserName" + ] + } + } + }, + "BareMetalMachineKeySetProperties": { + "type": "object", + "title": "BareMetalMachineKeySetProperties represents the properties of bare metal machine key set.", + "required": [ + "privilegeLevel", + "expiration", + "azureGroupId", + "jumpHostsAllowed", + "userList" + ], + "properties": { + "azureGroupId": { + "description": "The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "detailedStatus": { + "description": "The more detailed status of the key set.", + "type": "string", + "enum": [ + "AllActive", + "SomeInvalid", + "AllInvalid", + "Validating" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineKeySetDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "expiration": { + "description": "The date and time after which the users in this key set will be removed from the bare metal machines.", + "type": "string", + "format": "date-time" + }, + "jumpHostsAllowed": { + "description": "The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.", + "type": "array", + "items": { + "type": "string" + } + }, + "lastValidation": { + "description": "The last time this key set was validated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "osGroupName": { + "description": "The name of the group that users will be assigned to on the operating system of the machines.", + "type": "string", + "maxLength": 32, + "pattern": "^([A-Za-z]([A-Za-z0-9]*))$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "privilegeLevel": { + "description": "The access level allowed for the users in this key set.", + "type": "string", + "enum": [ + "Standard", + "Superuser" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineKeySetPrivilegeLevel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the bare metal machine key set.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineKeySetProvisioningState" + }, + "readOnly": true + }, + "userList": { + "description": "The unique list of permitted users.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUser" + }, + "x-ms-identifiers": [ + "azureUserName" + ] + }, + "userListStatus": { + "description": "The status evaluation of each user.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUserStatus" + }, + "x-ms-identifiers": [ + "azureUserName" + ], + "readOnly": true + } + } + }, + "BareMetalMachineList": { + "type": "object", + "title": "BareMetalMachineList represents a list of bare metal machines.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of bare metal machines.", + "type": "array", + "items": { + "$ref": "#/definitions/BareMetalMachine" + } + } + } + }, + "BareMetalMachinePatchParameters": { + "type": "object", + "title": "BareMetalMachinePatchParameters represents the body of the request to patch bare metal machine properties.", + "properties": { + "properties": { + "$ref": "#/definitions/BareMetalMachinePatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "BareMetalMachinePatchProperties": { + "type": "object", + "title": "BareMetalMachinePatchProperties represents the properties of the bare metal machine that can be patched.", + "properties": { + "machineDetails": { + "description": "The details provided by the customer during the creation of rack manifests\nthat allows for custom data to be associated with this machine.", + "type": "string", + "maxLength": 256 + } + } + }, + "BareMetalMachinePowerOffParameters": { + "type": "object", + "title": "BareMetalMachinePowerOffParameters represents the body of the request to power off bare metal machine.", + "properties": { + "skipShutdown": { + "description": "The indicator of whether to skip the graceful OS shutdown and power off the bare metal machine immediately.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineSkipShutdown" + } + } + } + }, + "BareMetalMachineProperties": { + "type": "object", + "title": "BareMetalMachineProperties represents the properties of a bare metal machine.", + "required": [ + "rackId", + "machineSkuId", + "rackSlot", + "machineName", + "bootMacAddress", + "bmcMacAddress", + "bmcCredentials", + "bmcConnectionString", + "machineDetails", + "serialNumber" + ], + "properties": { + "associatedResourceIds": { + "description": "The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "bmcConnectionString": { + "description": "The connection string for the baseboard management controller including IP address and protocol.", + "type": "string" + }, + "bmcCredentials": { + "$ref": "#/definitions/AdministrativeCredentials", + "description": "The credentials of the baseboard management controller on this bare metal machine." + }, + "bmcMacAddress": { + "description": "The MAC address of the BMC device.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "bootMacAddress": { + "description": "The MAC address of a NIC connected to the PXE network.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "clusterId": { + "description": "The resource ID of the cluster this bare metal machine is associated with.", + "type": "string", + "readOnly": true + }, + "cordonStatus": { + "description": "The cordon status of the bare metal machine.", + "type": "string", + "enum": [ + "Cordoned", + "Uncordoned" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineCordonStatus" + }, + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the bare metal machine.", + "type": "string", + "enum": [ + "Preparing", + "Error", + "Available", + "Provisioning", + "Provisioned", + "Deprovisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "hardwareInventory": { + "$ref": "#/definitions/HardwareInventory", + "description": "The hardware inventory, including information acquired from the model/sku information and from the ironic inspector.", + "readOnly": true + }, + "hardwareValidationStatus": { + "$ref": "#/definitions/HardwareValidationStatus", + "description": "The details of the latest hardware validation performed for this bare metal machine.", + "readOnly": true + }, + "hybridAksClustersAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the HybridAksClusters that have nodes hosted on this bare metal machine.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "kubernetesNodeName": { + "description": "The name of this machine represented by the host object in the Cluster's Kubernetes control plane.", + "type": "string", + "readOnly": true + }, + "kubernetesVersion": { + "description": "The version of Kubernetes running on this machine.", + "type": "string", + "readOnly": true + }, + "machineDetails": { + "description": "The custom details provided by the customer.", + "type": "string", + "maxLength": 256 + }, + "machineName": { + "description": "The OS-level hostname assigned to this machine.", + "type": "string", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$" + }, + "machineSkuId": { + "description": "The unique internal identifier of the bare metal machine SKU.", + "type": "string" + }, + "oamIpv4Address": { + "description": "The IPv4 address that is assigned to the bare metal machine during the cluster deployment.", + "type": "string", + "readOnly": true + }, + "oamIpv6Address": { + "description": "The IPv6 address that is assigned to the bare metal machine during the cluster deployment.", + "type": "string", + "readOnly": true + }, + "osImage": { + "description": "The image that is currently provisioned to the OS disk.", + "type": "string", + "readOnly": true + }, + "powerState": { + "description": "The power state derived from the baseboard management controller.", + "type": "string", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachinePowerState" + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the bare metal machine.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineProvisioningState" + }, + "readOnly": true + }, + "rackId": { + "description": "The resource ID of the rack where this bare metal machine resides.", + "type": "string" + }, + "rackSlot": { + "description": "The rack slot in which this bare metal machine is located, ordered from the bottom up i.e. the lowest slot is 1.", + "type": "integer", + "format": "int64", + "maximum": 256, + "minimum": 1 + }, + "readyState": { + "description": "The indicator of whether the bare metal machine is ready to receive workloads.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineReadyState" + }, + "readOnly": true + }, + "serialNumber": { + "description": "The serial number of the bare metal machine.", + "type": "string", + "maxLength": 64, + "minLength": 1 + }, + "serviceTag": { + "description": "The discovered value of the machine's service tag.", + "type": "string", + "readOnly": true + }, + "virtualMachinesAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the VirtualMachines that are hosted on this bare metal machine.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "BareMetalMachineReplaceParameters": { + "type": "object", + "title": "BareMetalMachineReplaceParameters represents the body of the request to physically swap a bare metal machine for another.", + "properties": { + "bmcCredentials": { + "$ref": "#/definitions/AdministrativeCredentials", + "description": "The credentials of the baseboard management controller on this bare metal machine." + }, + "bmcMacAddress": { + "description": "The MAC address of the BMC device.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "bootMacAddress": { + "description": "The MAC address of a NIC connected to the PXE network.", + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" + }, + "machineName": { + "description": "The OS-level hostname assigned to this machine.", + "type": "string", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$" + }, + "serialNumber": { + "description": "The serial number of the bare metal machine.", + "type": "string", + "maxLength": 64, + "minLength": 1 + } + } + }, + "BareMetalMachineRunCommandParameters": { + "type": "object", + "title": "BareMetalMachineRunCommandParameters represents the body of the request to execute a script on the bare metal machine.", + "required": [ + "script", + "limitTimeSeconds" + ], + "properties": { + "arguments": { + "description": "The list of string arguments that will be passed to the script in order as separate arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "limitTimeSeconds": { + "description": "The maximum time the script is allowed to run.\nIf the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252).", + "type": "integer", + "format": "int64", + "maximum": 14400, + "minimum": 60 + }, + "script": { + "description": "The base64 encoded script to execute on the bare metal machine.", + "type": "string" + } + } + }, + "BareMetalMachineRunDataExtractsParameters": { + "type": "object", + "title": "BareMetalMachineRunDataExtractsParameters represents the body of request containing list of curated data extraction commands to run on the bare metal machine.", + "required": [ + "commands", + "limitTimeSeconds" + ], + "properties": { + "commands": { + "description": "The list of curated data extraction commands to be executed directly against the target machine.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/BareMetalMachineCommandSpecification" + }, + "x-ms-identifiers": [] + }, + "limitTimeSeconds": { + "description": "The maximum time the commands are allowed to run.\nIf the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252).", + "type": "integer", + "format": "int64", + "maximum": 14400, + "minimum": 60 + } + } + }, + "BareMetalMachineRunReadCommandsParameters": { + "type": "object", + "title": "BareMetalMachineRunReadCommandsParameters represents the body of request containing list of read-only commands to run on the bare metal machine.", + "required": [ + "commands", + "limitTimeSeconds" + ], + "properties": { + "commands": { + "description": "The list of read-only commands to be executed directly against the target machine.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/BareMetalMachineCommandSpecification" + }, + "x-ms-identifiers": [] + }, + "limitTimeSeconds": { + "description": "The maximum time the commands are allowed to run.\nIf the execution time exceeds the maximum, the script will be stopped, any output produced until then will be captured, and the exit code matching a timeout will be returned (252).", + "type": "integer", + "format": "int64", + "maximum": 14400, + "minimum": 60 + } + } + }, + "BgpAdvertisement": { + "type": "object", + "title": "BgpAdvertisement represents the association of IP address pools to the communities and peers.", + "required": [ + "ipAddressPools" + ], + "properties": { + "advertiseToFabric": { + "description": "The indicator of if this advertisement is also made to the network fabric associated with the Network Cloud Cluster. This field is ignored if fabricPeeringEnabled is set to False.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AdvertiseToFabric" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "communities": { + "description": "The names of the BGP communities to be associated with the announcement, utilizing a BGP community string in 1234:1234 format.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipAddressPools": { + "description": "The names of the IP address pools associated with this announcement.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "peers": { + "description": "The names of the BGP peers to limit this advertisement to. If no values are specified, all BGP peers will receive this advertisement.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "BgpServiceLoadBalancerConfiguration": { + "type": "object", + "title": "BgpServiceLoadBalancerConfiguration represents the configuration of a BGP service load balancer.", + "properties": { + "bgpAdvertisements": { + "description": "The association of IP address pools to the communities and peers, allowing for announcement of IPs.", + "type": "array", + "items": { + "$ref": "#/definitions/BgpAdvertisement" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "bgpPeers": { + "description": "The list of additional BgpPeer entities that the Kubernetes cluster will peer with. All peering must be explicitly defined.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadBalancerBgpPeer" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "fabricPeeringEnabled": { + "description": "The indicator to specify if the load balancer peers with the network fabric.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "FabricPeeringEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipAddressPools": { + "description": "The list of pools of IP addresses that can be allocated to Load Balancer services.", + "type": "array", + "items": { + "$ref": "#/definitions/IpAddressPool" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "BmcKeySet": { + "type": "object", + "title": "BmcKeySet represents the baseboard management controller key set.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/BmcKeySetProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "BmcKeySetList": { + "type": "object", + "title": "BmcKeySetList represents a list of baseboard management controller key sets.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of baseboard management controller key sets.", + "type": "array", + "items": { + "$ref": "#/definitions/BmcKeySet" + } + } + } + }, + "BmcKeySetPatchParameters": { + "type": "object", + "title": "BmcKeySetPatchParameters represents the body of the request to patch the baseboard management controller key set.", + "properties": { + "properties": { + "$ref": "#/definitions/BmcKeySetPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "BmcKeySetPatchProperties": { + "type": "object", + "title": "BmcKeySetPatchProperties represents the properties of baseboard management controller key set that are patchable.", + "properties": { + "expiration": { + "description": "The date and time after which the users in this key set will be removed from the baseboard management controllers.", + "type": "string", + "format": "date-time" + }, + "userList": { + "description": "The unique list of permitted users.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUser" + }, + "x-ms-identifiers": [ + "azureUserName" + ] + } + } + }, + "BmcKeySetProperties": { + "type": "object", + "title": "BmcKeySetProperties represents the properties of baseboard management controller key set.", + "required": [ + "privilegeLevel", + "expiration", + "azureGroupId", + "userList" + ], + "properties": { + "azureGroupId": { + "description": "The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "detailedStatus": { + "description": "The more detailed status of the key set.", + "type": "string", + "enum": [ + "AllActive", + "SomeInvalid", + "AllInvalid", + "Validating" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BmcKeySetDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "expiration": { + "description": "The date and time after which the users in this key set will be removed from the baseboard management controllers.", + "type": "string", + "format": "date-time" + }, + "lastValidation": { + "description": "The last time this key set was validated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "privilegeLevel": { + "description": "The access level allowed for the users in this key set.", + "type": "string", + "enum": [ + "ReadOnly", + "Administrator" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BmcKeySetPrivilegeLevel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the baseboard management controller key set.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BmcKeySetProvisioningState" + }, + "readOnly": true + }, + "userList": { + "description": "The unique list of permitted users.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUser" + }, + "x-ms-identifiers": [ + "azureUserName" + ] + }, + "userListStatus": { + "description": "The status evaluation of each user.", + "type": "array", + "items": { + "$ref": "#/definitions/KeySetUserStatus" + }, + "x-ms-identifiers": [ + "azureUserName" + ], + "readOnly": true + } + } + }, + "CloudServicesNetwork": { + "description": "Upon creation, the additional services that are provided by the platform will be allocated and\nrepresented in the status of this resource. All resources associated with this cloud services network will be part\nof the same layer 2 (L2) isolation domain. At least one service network must be created but may be reused across many\nvirtual machines and/or Hybrid AKS clusters.", + "type": "object", + "title": "CloudServicesNetwork represents additional egress information that will be used by associated virtual machines or hybrid AKS clusters.", + "required": [ + "extendedLocation" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/CloudServicesNetworkProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "CloudServicesNetworkList": { + "type": "object", + "title": "CloudServicesNetworkList represents a list of cloud services networks.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of cloud services networks.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudServicesNetwork" + } + } + } + }, + "CloudServicesNetworkPatchParameters": { + "type": "object", + "title": "CloudServicesNetworkPatchParameters represents the body of the request to patch the cloud services network.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudServicesNetworkPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CloudServicesNetworkPatchProperties": { + "type": "object", + "title": "CloudServicesNetworkPatchProperties represents the properties of the cloud services network that can be updated using a patch request.", + "properties": { + "additionalEgressEndpoints": { + "description": "The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the specified endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/EgressEndpoint" + }, + "x-ms-identifiers": [] + }, + "enableDefaultEgressEndpoints": { + "description": "The indicator of whether the platform default endpoints are allowed for the egress traffic.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "CloudServicesNetworkEnableDefaultEgressEndpoints" + } + } + } + }, + "CloudServicesNetworkProperties": { + "type": "object", + "title": "CloudServicesNetworkProperties represents properties of the cloud services network.", + "properties": { + "additionalEgressEndpoints": { + "description": "The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the specified endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/EgressEndpoint" + }, + "x-ms-identifiers": [] + }, + "associatedResourceIds": { + "description": "The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the Network Cloud cluster this cloud services network is associated with.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the cloud services network.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "CloudServicesNetworkDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "enableDefaultEgressEndpoints": { + "description": "The indicator of whether the platform default endpoints are allowed for the egress traffic.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "CloudServicesNetworkEnableDefaultEgressEndpoints" + } + }, + "enabledEgressEndpoints": { + "description": "The full list of additional and default egress endpoints that are currently enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/EgressEndpoint" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "hybridAksClustersAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this cloud services network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "interfaceName": { + "description": "The name of the interface that will be present in the virtual machine to represent this network.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the cloud services network.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "CloudServicesNetworkProvisioningState" + }, + "readOnly": true + }, + "virtualMachinesAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this cloud services network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "Cluster": { + "type": "object", + "title": "Cluster represents the on-premises Network Cloud cluster.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster manager associated with the cluster." + }, + "properties": { + "$ref": "#/definitions/ClusterProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "ClusterAvailableUpgradeVersion": { + "type": "object", + "title": "ClusterAvailableUpgradeVersion represents the various cluster upgrade parameters.", + "properties": { + "controlImpact": { + "description": "The indicator of whether the control plane will be impacted during the upgrade.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ControlImpact" + }, + "readOnly": true + }, + "expectedDuration": { + "description": "The expected duration needed for this upgrade.", + "type": "string", + "readOnly": true + }, + "impactDescription": { + "description": "The impact description including the specific details and release notes.", + "type": "string", + "readOnly": true + }, + "supportExpiryDate": { + "description": "The last date the version of the platform is supported.", + "type": "string", + "readOnly": true + }, + "targetClusterVersion": { + "description": "The target version this cluster will be upgraded to.", + "type": "string", + "readOnly": true + }, + "workloadImpact": { + "description": "The indicator of whether the workload will be impacted during the upgrade.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "WorkloadImpact" + }, + "readOnly": true + } + } + }, + "ClusterAvailableVersion": { + "type": "object", + "title": "ClusterAvailableVersion represents the cluster version that the cluster manager can be asked to create and manage.", + "properties": { + "supportExpiryDate": { + "description": "The last date the version of the platform is supported.", + "type": "string", + "readOnly": true + }, + "targetClusterVersion": { + "description": "The version of the cluster to be deployed.", + "type": "string", + "readOnly": true + } + } + }, + "ClusterCapacity": { + "type": "object", + "title": "ClusterCapacity represents various details regarding compute capacity.", + "properties": { + "availableApplianceStorageGB": { + "description": "The remaining appliance-based storage in GB available for workload use.", + "type": "integer", + "format": "int64" + }, + "availableCoreCount": { + "description": "The remaining number of cores that are available in this cluster for workload use.", + "type": "integer", + "format": "int64" + }, + "availableHostStorageGB": { + "description": "The remaining machine or host-based storage in GB available for workload use.", + "type": "integer", + "format": "int64" + }, + "availableMemoryGB": { + "description": "The remaining memory in GB that are available in this cluster for workload use.", + "type": "integer", + "format": "int64" + }, + "totalApplianceStorageGB": { + "description": "The total appliance-based storage in GB supported by this cluster for workload use.", + "type": "integer", + "format": "int64" + }, + "totalCoreCount": { + "description": "The total number of cores that are supported by this cluster for workload use.", + "type": "integer", + "format": "int64" + }, + "totalHostStorageGB": { + "description": "The total machine or host-based storage in GB supported by this cluster for workload use.", + "type": "integer", + "format": "int64" + }, + "totalMemoryGB": { + "description": "The total memory supported by this cluster for workload use.", + "type": "integer", + "format": "int64" + } + } + }, + "ClusterDeployParameters": { + "type": "object", + "title": "ClusterDeployParameters represents the body of the request to deploy cluster.", + "properties": { + "skipValidationsForMachines": { + "description": "The names of bare metal machines in the cluster that should be skipped during environment validation.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ClusterList": { + "type": "object", + "title": "ClusterList represents a list of clusters.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + } + } + } + }, + "ClusterManager": { + "type": "object", + "title": "ClusterManager represents a control-plane to manage one or more on-premises clusters.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/ClusterManagerProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "ClusterManagerList": { + "type": "object", + "title": "ClusterManagerList represents a list of cluster manager objects.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of cluster managers.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterManager" + } + } + } + }, + "ClusterManagerPatchParameters": { + "type": "object", + "title": "ClusterManagerPatchParameters represents the body of the request to patch the cluster properties.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ClusterManagerProperties": { + "type": "object", + "title": "ClusterManagerProperties represents the properties of a cluster manager.", + "required": [ + "fabricControllerId" + ], + "properties": { + "analyticsWorkspaceId": { + "description": "The resource ID of the Log Analytics workspace that is used for the logs collection.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZones": { + "description": "Field deprecated, this value will no longer influence the cluster manager allocation process and will be removed in a future version. The Azure availability zones within the region that will be used to support the cluster manager resource.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterVersions": { + "description": "The list of the cluster versions the manager supports. It is used as input in clusterVersion property of a cluster resource.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterAvailableVersion" + }, + "x-ms-identifiers": [ + "targetClusterVersion" + ], + "readOnly": true + }, + "detailedStatus": { + "description": "The detailed status that provides additional information about the cluster manager.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning", + "ProvisioningFailed", + "Updating", + "UpdateFailed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterManagerDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "fabricControllerId": { + "description": "The resource ID of the fabric controller that has one to one mapping with the cluster manager.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "managedResourceGroupConfiguration": { + "$ref": "#/definitions/ManagedResourceGroupConfiguration", + "description": "The configuration of the managed resource group associated with the resource." + }, + "managerExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location (custom location) that represents the cluster manager's control plane location. This extended location is used when creating cluster and rack manifest resources.", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the cluster manager.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted", + "Updating" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterManagerProvisioningState" + }, + "readOnly": true + }, + "vmSize": { + "description": "Field deprecated, this value will no longer influence the cluster manager allocation process and will be removed in a future version. The size of the Azure virtual machines to use for hosting the cluster manager resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "ClusterMetricsConfiguration": { + "type": "object", + "title": "ClusterMetricsConfiguration represents the metrics configuration of an on-premises Network Cloud cluster.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/ClusterMetricsConfigurationProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "ClusterMetricsConfigurationList": { + "type": "object", + "title": "ClusterMetricsConfigurationList represents a list of metrics configuration of the cluster.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of metrics configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterMetricsConfiguration" + } + } + } + }, + "ClusterMetricsConfigurationPatchParameters": { + "type": "object", + "title": "ClusterMetricsConfigurationPatchParameters represents the body of the request to patch the metrics configuration of cluster.", + "properties": { + "properties": { + "$ref": "#/definitions/ClusterMetricsConfigurationPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ClusterMetricsConfigurationPatchProperties": { + "type": "object", + "title": "ClusterMetricsConfigurationPatchProperties represents the properties of metrics configuration for the cluster for patching.", + "properties": { + "collectionInterval": { + "description": "The interval in minutes by which metrics will be collected.", + "type": "integer", + "format": "int64", + "maximum": 1440, + "minimum": 1 + }, + "enabledMetrics": { + "description": "The list of metric names that have been chosen to be enabled in addition to the core set of enabled metrics.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ClusterMetricsConfigurationProperties": { + "type": "object", + "title": "ClusterMetricsConfigurationProperties represents the properties of metrics configuration for the cluster.", + "required": [ + "collectionInterval" + ], + "properties": { + "collectionInterval": { + "description": "The interval in minutes by which metrics will be collected.", + "type": "integer", + "format": "int64", + "maximum": 1440, + "minimum": 1 + }, + "detailedStatus": { + "description": "The more detailed status of the metrics configuration.", + "type": "string", + "enum": [ + "Processing", + "Applied", + "Error" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterMetricsConfigurationDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "disabledMetrics": { + "description": "The list of metrics that are available for the cluster but disabled at the moment.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "enabledMetrics": { + "description": "The list of metric names that have been chosen to be enabled in addition to the core set of enabled metrics.", + "type": "array", + "items": { + "type": "string" + } + }, + "provisioningState": { + "description": "The provisioning state of the metrics configuration.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterMetricsConfigurationProvisioningState" + }, + "readOnly": true + } + } + }, + "ClusterPatchParameters": { + "type": "object", + "title": "ClusterPatchParameters represents the body of the request to patch the cluster properties.", + "properties": { + "properties": { + "$ref": "#/definitions/ClusterPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ClusterPatchProperties": { + "type": "object", + "title": "ClusterPatchProperties represents the properties of the cluster for patching.", + "properties": { + "aggregatorOrSingleRackDefinition": { + "$ref": "#/definitions/RackDefinition", + "description": "The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster." + }, + "clusterLocation": { + "description": "The customer-provided location information to identify where the cluster resides.", + "type": "string" + }, + "clusterServicePrincipal": { + "$ref": "#/definitions/ServicePrincipalInformation", + "description": "The service principal to be used by the cluster during Arc Appliance installation." + }, + "computeDeploymentThreshold": { + "$ref": "#/definitions/ValidationThreshold", + "description": "The validation threshold indicating the allowable failures of compute machines during environment validation and deployment." + }, + "computeRackDefinitions": { + "description": "The list of rack definitions for the compute racks in a multi-rack\ncluster, or an empty list in a single-rack cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/RackDefinition" + }, + "x-ms-identifiers": [ + "networkRackId" + ] + } + } + }, + "ClusterProperties": { + "type": "object", + "title": "ClusterProperties represents the properties of a cluster.", + "required": [ + "networkFabricId", + "clusterType", + "clusterVersion", + "aggregatorOrSingleRackDefinition" + ], + "properties": { + "aggregatorOrSingleRackDefinition": { + "$ref": "#/definitions/RackDefinition", + "description": "The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster." + }, + "analyticsWorkspaceId": { + "description": "The resource ID of the Log Analytics Workspace that will be used for storing relevant logs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availableUpgradeVersions": { + "description": "The list of cluster runtime version upgrades available for this cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterAvailableUpgradeVersion" + }, + "x-ms-identifiers": [ + "targetClusterVersion" + ], + "readOnly": true + }, + "clusterCapacity": { + "$ref": "#/definitions/ClusterCapacity", + "description": "The capacity supported by this cluster.", + "readOnly": true + }, + "clusterConnectionStatus": { + "description": "The latest heartbeat status between the cluster manager and the cluster.", + "type": "string", + "enum": [ + "Connected", + "Timeout", + "Undefined" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterConnectionStatus" + }, + "readOnly": true + }, + "clusterExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location (custom location) that represents the cluster's control plane location. This extended location is used to route the requests of child objects of the cluster that are handled by the platform operator.", + "readOnly": true + }, + "clusterLocation": { + "description": "The customer-provided location information to identify where the cluster resides.", + "type": "string", + "maxLength": 256 + }, + "clusterManagerConnectionStatus": { + "description": "The latest connectivity status between cluster manager and the cluster.", + "type": "string", + "enum": [ + "Connected", + "Unreachable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterManagerConnectionStatus" + }, + "readOnly": true + }, + "clusterManagerId": { + "description": "The resource ID of the cluster manager that manages this cluster. This is set by the Cluster Manager when the cluster is created.", + "type": "string", + "readOnly": true + }, + "clusterServicePrincipal": { + "$ref": "#/definitions/ServicePrincipalInformation", + "description": "The service principal to be used by the cluster during Arc Appliance installation." + }, + "clusterType": { + "description": "The type of rack configuration for the cluster.", + "type": "string", + "enum": [ + "SingleRack", + "MultiRack" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterVersion": { + "description": "The current runtime version of the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "computeDeploymentThreshold": { + "$ref": "#/definitions/ValidationThreshold", + "description": "The validation threshold indicating the allowable failures of compute machines during environment validation and deployment." + }, + "computeRackDefinitions": { + "description": "The list of rack definitions for the compute racks in a multi-rack\ncluster, or an empty list in a single-rack cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/RackDefinition" + }, + "x-ms-identifiers": [ + "networkRackId" + ] + }, + "detailedStatus": { + "description": "The current detailed status of the cluster.", + "type": "string", + "enum": [ + "PendingDeployment", + "Deploying", + "Running", + "Updating", + "Degraded", + "Deleting", + "Disconnected", + "Failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the detailed status.", + "type": "string", + "readOnly": true + }, + "hybridAksExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Field Deprecated. This field will not be populated in an upcoming version. The extended location (custom location) that represents the Hybrid AKS control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters).", + "readOnly": true + }, + "managedResourceGroupConfiguration": { + "$ref": "#/definitions/ManagedResourceGroupConfiguration", + "description": "The configuration of the managed resource group associated with the resource." + }, + "manualActionCount": { + "description": "The count of Manual Action Taken (MAT) events that have not been validated.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "networkFabricId": { + "description": "The resource ID of the Network Fabric associated with the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the cluster.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Validating", + "Updating" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ClusterProvisioningState" + }, + "readOnly": true + }, + "supportExpiryDate": { + "description": "The support end date of the runtime version of the cluster.", + "type": "string", + "readOnly": true + }, + "workloadResourceIds": { + "description": "The list of workload resource IDs that are hosted within this cluster.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ClusterUpdateVersionParameters": { + "type": "object", + "title": "ClusterUpdateVersionParameters represents the body of the request to update cluster version.", + "required": [ + "targetClusterVersion" + ], + "properties": { + "targetClusterVersion": { + "description": "The version to be applied to the cluster during update.", + "type": "string" + } + } + }, + "Console": { + "type": "object", + "title": "Console represents the console of an on-premises Network Cloud virtual machine.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster manager associated with the cluster this virtual machine is created on." + }, + "properties": { + "$ref": "#/definitions/ConsoleProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "ConsoleList": { + "type": "object", + "title": "ConsoleList represents a list of virtual machine consoles.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of virtual machine consoles.", + "type": "array", + "items": { + "$ref": "#/definitions/Console" + } + } + } + }, + "ConsolePatchParameters": { + "type": "object", + "title": "ConsolePatchParameters represents the body of the request to patch the virtual machine console.", + "properties": { + "properties": { + "$ref": "#/definitions/ConsolePatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConsolePatchProperties": { + "type": "object", + "title": "ConsolePatchProperties represents the properties of the virtual machine console that can be patched.", + "properties": { + "enabled": { + "description": "The credentials used to login to the image repository that has access to the specified image.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ConsoleEnabled" + } + }, + "expiration": { + "description": "The date and time after which the key will be disallowed access.", + "type": "string", + "format": "date-time" + }, + "sshPublicKey": { + "$ref": "#/definitions/SshPublicKey", + "description": "The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in." + } + } + }, + "ConsoleProperties": { + "type": "object", + "title": "ConsoleProperties represents the properties of the virtual machine console.", + "required": [ + "sshPublicKey", + "enabled" + ], + "properties": { + "detailedStatus": { + "description": "The more detailed status of the console.", + "type": "string", + "enum": [ + "Ready", + "Error" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ConsoleDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "enabled": { + "description": "The indicator of whether the console access is enabled.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ConsoleEnabled" + } + }, + "expiration": { + "description": "The date and time after which the key will be disallowed access.", + "type": "string", + "format": "date-time" + }, + "privateLinkServiceId": { + "description": "The resource ID of the private link service that is used to provide virtual machine console access.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the virtual machine console.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ConsoleProvisioningState" + }, + "readOnly": true + }, + "sshPublicKey": { + "$ref": "#/definitions/SshPublicKey", + "description": "The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in." + }, + "virtualMachineAccessId": { + "description": "The unique identifier for the virtual machine that is used to access the console.", + "type": "string", + "readOnly": true + } + } + }, + "ControlPlaneNodeConfiguration": { + "type": "object", + "title": "ControlPlaneNodeConfiguration represents the selection of virtual machines and size of the control plane for a Kubernetes cluster.", + "required": [ + "count", + "vmSkuName" + ], + "properties": { + "administratorConfiguration": { + "$ref": "#/definitions/AdministratorConfiguration", + "description": "The administrator credentials to be used for the nodes in the control plane.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZones": { + "description": "The list of availability zones of the Network Cloud cluster to be used for the provisioning of nodes in the control plane. If not specified, all availability zones will be used.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64", + "minimum": 1 + }, + "vmSkuName": { + "description": "The name of the VM SKU supplied during creation.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "ControlPlaneNodePatchConfiguration": { + "type": "object", + "title": "ControlPlaneNodePatchConfiguration represents the properties of the control plane that can be patched for this Kubernetes cluster.", + "properties": { + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64", + "minimum": 1 + } + } + }, + "EgressEndpoint": { + "type": "object", + "title": "EgressEndpoint represents the connection from a cloud services network to the specified endpoint for a common purpose.", + "required": [ + "category", + "endpoints" + ], + "properties": { + "category": { + "description": "The descriptive category name of endpoints accessible by the AKS agent node. For example, azure-resource-management, API server, etc. The platform egress endpoints provided by default will use the category 'default'.", + "type": "string" + }, + "endpoints": { + "description": "The list of endpoint dependencies.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] + } + } + }, + "EndpointDependency": { + "type": "object", + "title": "EndpointDependency represents the definition of an endpoint, including the domain and details.", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "port": { + "description": "The port of this endpoint.", + "type": "integer", + "format": "int64", + "maximum": 65535, + "minimum": 1 + } + } + }, + "ExtendedLocation": { + "type": "object", + "title": "ExtendedLocation represents the Azure custom location where the resource will be created.", + "required": [ + "type", + "name" + ], + "properties": { + "name": { + "description": "The resource ID of the extended location on which the resource will be created.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "type": { + "description": "The extended location type, for example, CustomLocation.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "FeatureStatus": { + "type": "object", + "title": "FeatureStatus contains information regarding a Kubernetes cluster feature.", + "properties": { + "detailedStatus": { + "description": "The status representing the state of this feature.", + "type": "string", + "enum": [ + "Running", + "Failed", + "Unknown" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "FeatureDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the feature.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version of the feature.", + "type": "string", + "readOnly": true + } + } + }, + "HardwareInventory": { + "type": "object", + "title": "HardwareInventory represents the hardware configuration of this machine as exposed to the customer, including information acquired from the model/sku information and from the ironic inspector.", + "properties": { + "additionalHostInformation": { + "description": "Freeform data extracted from the environment about this machine. This information varies depending on the specific hardware and configuration.", + "type": "string", + "readOnly": true + }, + "interfaces": { + "description": "The list of network interfaces and associated details for the bare metal machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HardwareInventoryNetworkInterface" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "nics": { + "description": "Field Deprecated. Will be removed in an upcoming version. The list of network interface cards and associated details for the bare metal machine.", + "type": "array", + "items": { + "$ref": "#/definitions/Nic" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + } + } + }, + "HardwareInventoryNetworkInterface": { + "type": "object", + "title": "HardwareInventoryNetworkInterface represents the network interface details as part of a hardware inventory.", + "properties": { + "linkStatus": { + "description": "The current status of the link.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "The MAC address associated with this interface.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the interface.", + "type": "string", + "readOnly": true + }, + "networkInterfaceId": { + "description": "The resource ID of the network interface for the port on the switch that this machine's interface is connected to.", + "type": "string", + "readOnly": true + } + } + }, + "HardwareValidationStatus": { + "type": "object", + "title": "HardwareValidationStatus represents the latest hardware validation details performed for this bare metal machine.", + "properties": { + "lastValidationTime": { + "description": "The timestamp of the hardware validation execution.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "result": { + "description": "The outcome of the hardware validation.", + "type": "string", + "enum": [ + "Pass", + "Fail" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineHardwareValidationResult" + }, + "readOnly": true + } + } + }, + "ImageRepositoryCredentials": { + "type": "object", + "title": "ImageRepositoryCredentials represents the credentials used to login to the image repository.", + "required": [ + "username", + "password", + "registryUrl" + ], + "properties": { + "password": { + "description": "The password or token used to access an image in the target repository.", + "type": "string", + "minLength": 1, + "x-ms-secret": true + }, + "registryUrl": { + "description": "The URL of the authentication server used to validate the repository credentials.", + "type": "string" + }, + "username": { + "description": "The username used to access an image in the target repository.", + "type": "string", + "minLength": 1 + } + } + }, + "InitialAgentPoolConfiguration": { + "type": "object", + "title": "InitialAgentPoolConfiguration specifies the configuration of a pool of virtual machines that are initially defined with a Kubernetes cluster.", + "required": [ + "count", + "mode", + "vmSkuName", + "name" + ], + "properties": { + "administratorConfiguration": { + "$ref": "#/definitions/AdministratorConfiguration", + "description": "The administrator credentials to be used for the nodes in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "agentOptions": { + "$ref": "#/definitions/AgentOptions", + "description": "The configurations that will be applied to each agent in this agent pool.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "attachedNetworkConfiguration": { + "$ref": "#/definitions/AttachedNetworkConfiguration", + "description": "The configuration of networks being attached to the agent pool for use by the workloads that run on this Kubernetes cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZones": { + "description": "The list of availability zones of the Network Cloud cluster used for the provisioning of nodes in this agent pool. If not specified, all availability zones will be used.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "count": { + "description": "The number of virtual machines that use this configuration.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "labels": { + "description": "The labels applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "mode": { + "description": "The selection of how this agent pool is utilized, either as a system pool or a user pool. System pools run the features and critical services for the Kubernetes Cluster, while user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one system node pool with at least one node.", + "type": "string", + "enum": [ + "System", + "User", + "NotApplicable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolMode" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "The name that will be used for the agent pool resource representing this agent pool.", + "type": "string", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "taints": { + "description": "The taints applied to the nodes in this agent pool.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "The configuration of the agent pool." + }, + "vmSkuName": { + "description": "The name of the VM SKU that determines the size of resources allocated for node VMs.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "IpAddressPool": { + "type": "object", + "title": "IpAddressPool represents a pool of IP addresses that can be allocated to a service.", + "required": [ + "addresses", + "name" + ], + "properties": { + "addresses": { + "description": "The list of IP address ranges. Each range can be a either a subnet in CIDR format or an explicit start-end range of IP addresses.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "autoAssign": { + "description": "The indicator to determine if automatic allocation from the pool should occur.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BfdEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "The name used to identify this IP address pool for association with a BGP advertisement.", + "type": "string", + "pattern": "^[a-z0-9]([a-z0-9.-]{0,61}[a-z0-9]){0,1}$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "onlyUseHostIps": { + "description": "The indicator to prevent the use of IP addresses ending with .0 and .255 for this pool. Enabling this option will only use IP addresses between .1 and .254 inclusive.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BfdEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "KeySetUser": { + "type": "object", + "title": "KeySetUser represents the properties of the user in the key set.", + "required": [ + "azureUserName", + "sshPublicKey" + ], + "properties": { + "azureUserName": { + "description": "The user name that will be used for access.", + "type": "string" + }, + "description": { + "description": "The free-form description for this user.", + "type": "string", + "maxLength": 256 + }, + "sshPublicKey": { + "$ref": "#/definitions/SshPublicKey", + "description": "The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in." + } + } + }, + "KeySetUserStatus": { + "type": "object", + "title": "KeySetUserStatus represents the status of the key set user.", + "properties": { + "azureUserName": { + "description": "The user name that will be used for access.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The indicator of whether the user is currently deployed for access.", + "type": "string", + "enum": [ + "Active", + "Invalid" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BareMetalMachineKeySetUserSetupStatus" + }, + "readOnly": true + }, + "statusMessage": { + "description": "The additional information describing the current status of this user, if any available.", + "type": "string", + "maxLength": 256, + "readOnly": true + } + } + }, + "KubernetesCluster": { + "type": "object", + "title": "KubernetesCluster represents the Kubernetes cluster hosted on Network Cloud.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/KubernetesClusterProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "KubernetesClusterList": { + "type": "object", + "title": "KubernetesClusterList represents a list of Kubernetes clusters.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of additional details related to Kubernetes clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesCluster" + } + } + } + }, + "KubernetesClusterNode": { + "type": "object", + "title": "KubernetesClusterNode represents the details of a node in a Kubernetes cluster.", + "properties": { + "agentPoolId": { + "description": "The resource ID of the agent pool that this node belongs to. This value is not represented on control plane nodes.", + "type": "string", + "readOnly": true + }, + "availabilityZone": { + "description": "The availability zone this node is running within.", + "type": "string", + "readOnly": true + }, + "bareMetalMachineId": { + "description": "The resource ID of the bare metal machine that hosts this node.", + "type": "string", + "readOnly": true + }, + "cpuCores": { + "description": "The number of CPU cores configured for this node, derived from the VM SKU specified.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "detailedStatus": { + "description": "The detailed state of this node.", + "type": "string", + "enum": [ + "Available", + "Error", + "Provisioning", + "Running", + "Scheduling", + "Stopped", + "Terminating", + "Unknown" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesClusterNodeDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "diskSizeGB": { + "description": "The size of the disk configured for this node.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "image": { + "description": "The machine image used to deploy this node.", + "type": "string", + "readOnly": true + }, + "kubernetesVersion": { + "description": "The currently running version of Kubernetes and bundled features running on this node.", + "type": "string", + "readOnly": true + }, + "labels": { + "description": "The list of labels on this node that have been assigned to the agent pool containing this node.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-identifiers": [ + "key" + ], + "readOnly": true + }, + "memorySizeGB": { + "description": "The amount of memory configured for this node, derived from the vm SKU specified.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "mode": { + "description": "The mode of the agent pool containing this node. Not applicable for control plane nodes.", + "type": "string", + "enum": [ + "System", + "User", + "NotApplicable" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AgentPoolMode" + }, + "readOnly": true + }, + "name": { + "description": "The name of this node, as realized in the Kubernetes cluster.", + "type": "string", + "readOnly": true + }, + "networkAttachments": { + "description": "The NetworkAttachments made to this node.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAttachment" + }, + "x-ms-identifiers": [ + "networkAttachmentName" + ], + "readOnly": true + }, + "powerState": { + "description": "The power state of this node.", + "type": "string", + "enum": [ + "On", + "Off", + "Unknown" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesNodePowerState" + }, + "readOnly": true + }, + "role": { + "description": "The role of this node in the cluster.", + "type": "string", + "enum": [ + "ControlPlane", + "Worker" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesNodeRole" + }, + "readOnly": true + }, + "taints": { + "description": "The list of taints that have been assigned to the agent pool containing this node.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesLabel" + }, + "x-ms-identifiers": [ + "key" + ], + "readOnly": true + }, + "vmSkuName": { + "description": "The VM SKU name that was used to create this cluster node.", + "type": "string", + "readOnly": true + } + } + }, + "KubernetesClusterPatchParameters": { + "type": "object", + "title": "KubernetesClusterPatchParameters represents the body of the request to patch the Hybrid AKS cluster.", + "properties": { + "properties": { + "$ref": "#/definitions/KubernetesClusterPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "KubernetesClusterPatchProperties": { + "type": "object", + "title": "KubernetesClusterPatchProperties represents the properties of the Kubernetes cluster that can be patched.", + "properties": { + "controlPlaneNodeConfiguration": { + "$ref": "#/definitions/ControlPlaneNodePatchConfiguration", + "description": "The defining characteristics of the control plane that can be patched for this Kubernetes cluster." + }, + "kubernetesVersion": { + "description": "The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.", + "type": "string" + } + } + }, + "KubernetesClusterProperties": { + "type": "object", + "title": "KubernetesClusterProperties represents the properties of Kubernetes cluster resource.", + "required": [ + "initialAgentPoolConfigurations", + "controlPlaneNodeConfiguration", + "kubernetesVersion", + "networkConfiguration" + ], + "properties": { + "aadConfiguration": { + "$ref": "#/definitions/AadConfiguration", + "description": "The Azure Active Directory Integration properties.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "administratorConfiguration": { + "$ref": "#/definitions/AdministratorConfiguration", + "description": "The administrative credentials that will be applied to the control plane and agent pool nodes that do not specify their own values.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "attachedNetworkIds": { + "description": "The full list of network resource IDs that are attached to this cluster, including those attached only to specific agent pools.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "availableUpgrades": { + "description": "The list of versions that this Kubernetes cluster can be upgraded to.", + "type": "array", + "items": { + "$ref": "#/definitions/AvailableUpgrade" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the Network Cloud cluster.", + "type": "string", + "readOnly": true + }, + "connectedClusterId": { + "description": "The resource ID of the connected cluster set up when this Kubernetes cluster is created.", + "type": "string", + "readOnly": true + }, + "controlPlaneKubernetesVersion": { + "description": "The current running version of Kubernetes on the control plane.", + "type": "string", + "readOnly": true + }, + "controlPlaneNodeConfiguration": { + "$ref": "#/definitions/ControlPlaneNodeConfiguration", + "description": "The defining characteristics of the control plane for this Kubernetes Cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "detailedStatus": { + "description": "The current status of the Kubernetes cluster.", + "type": "string", + "enum": [ + "Available", + "Error", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesClusterDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "featureStatuses": { + "description": "The current feature settings.", + "type": "array", + "items": { + "$ref": "#/definitions/FeatureStatus" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "initialAgentPoolConfigurations": { + "description": "The agent pools that are created with this Kubernetes cluster for running critical system services and workloads. This data in this field is only used during creation, and the field will be empty following the creation of the Kubernetes Cluster. After creation, the management of agent pools is done using the agentPools sub-resource.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/InitialAgentPoolConfiguration" + }, + "x-ms-identifiers": [ + "name" + ], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "kubernetesVersion": { + "description": "The Kubernetes version for this cluster. Accepts n.n, n.n.n, and n.n.n-n format. The interpreted version used will be resolved into this field after creation or update.", + "type": "string" + }, + "managedResourceGroupConfiguration": { + "$ref": "#/definitions/ManagedResourceGroupConfiguration", + "description": "The configuration of the managed resource group associated with the resource." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "description": "The configuration of the Kubernetes cluster networking, including the attachment of networks that span the cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "nodes": { + "description": "The details of the nodes in this cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/KubernetesClusterNode" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the Kubernetes cluster resource.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "InProgress", + "Created", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesClusterProvisioningState" + }, + "readOnly": true + } + } + }, + "KubernetesClusterRestartNodeParameters": { + "type": "object", + "title": "KubernetesClusterRestartNodeParameters represents the body of the request to restart the node of a Kubernetes cluster.", + "required": [ + "nodeName" + ], + "properties": { + "nodeName": { + "description": "The name of the node to restart.", + "type": "string" + } + } + }, + "KubernetesLabel": { + "type": "object", + "title": "KubernetesLabel represents a single entry for a Kubernetes label or taint such as those used on a node or pod.", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "description": "The name of the label or taint.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "value": { + "description": "The value of the label or taint.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "L2Network": { + "type": "object", + "title": "L2Network represents a network that utilizes a single isolation domain set up for layer-2 resources.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/L2NetworkProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "L2NetworkAttachmentConfiguration": { + "type": "object", + "title": "L2NetworkAttachmentConfiguration represents the configuration of the attachment of a Layer 2 network.", + "required": [ + "networkId" + ], + "properties": { + "networkId": { + "description": "The resource ID of the network that is being configured for attachment.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "pluginType": { + "description": "The indicator of how this network will be utilized by the Kubernetes cluster.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice", + "MACVLAN", + "IPVLAN" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "L2NetworkList": { + "type": "object", + "title": "L2NetworkList represents a list of L2 networks.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of L2 networks.", + "type": "array", + "items": { + "$ref": "#/definitions/L2Network" + } + } + } + }, + "L2NetworkPatchParameters": { + "type": "object", + "title": "L2NetworkPatchParameters represents the body of the request to patch the L2 network.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "L2NetworkProperties": { + "type": "object", + "title": "L2NetworkProperties represents properties of the L2 network.", + "required": [ + "l2IsolationDomainId" + ], + "properties": { + "associatedResourceIds": { + "description": "The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the Network Cloud cluster this L2 network is associated with.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the L2 network.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "L2NetworkDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "hybridAksClustersAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource ID(s) that are associated with this L2 network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "hybridAksPluginType": { + "description": "Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "HybridAksPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "interfaceName": { + "description": "The default interface name for this L2 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.", + "type": "string", + "maxLength": 12, + "pattern": "^[a-zA-Z0-9@._-]*$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "l2IsolationDomainId": { + "description": "The resource ID of the Network Fabric l2IsolationDomain.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the L2 network.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "L2NetworkProvisioningState" + }, + "readOnly": true + }, + "virtualMachinesAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource ID(s), excluding any Hybrid AKS virtual machines, that are currently using this L2 network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "L3Network": { + "type": "object", + "title": "L3Network represents a network that utilizes a single isolation domain set up for layer-3 resources.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/L3NetworkProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "L3NetworkAttachmentConfiguration": { + "type": "object", + "title": "L3NetworkAttachmentConfiguration represents the configuration of the attachment of a Layer 3 network.", + "required": [ + "networkId" + ], + "properties": { + "ipamEnabled": { + "description": "The indication of whether this network will or will not perform IP address management and allocate IP addresses when attached.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "L3NetworkConfigurationIpamEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "networkId": { + "description": "The resource ID of the network that is being configured for attachment.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "pluginType": { + "description": "The indicator of how this network will be utilized by the Kubernetes cluster.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice", + "MACVLAN", + "IPVLAN" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "L3NetworkList": { + "type": "object", + "title": "L3NetworkList represents a list of L3 networks.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of L3 networks.", + "type": "array", + "items": { + "$ref": "#/definitions/L3Network" + } + } + } + }, + "L3NetworkPatchParameters": { + "type": "object", + "title": "L3NetworkPatchParameters represents the body of the request to patch the cloud services network.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "L3NetworkProperties": { + "type": "object", + "title": "L3NetworkProperties represents properties of the L3 network.", + "required": [ + "l3IsolationDomainId", + "vlan" + ], + "properties": { + "associatedResourceIds": { + "description": "The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the Network Cloud cluster this L3 network is associated with.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the L3 network.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "L3NetworkDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "hybridAksClustersAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this L3 network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "hybridAksIpamEnabled": { + "description": "Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM allocation on the network attachment definition injected into the Hybrid AKS Cluster.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "HybridAksIpamEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "hybridAksPluginType": { + "description": "Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "HybridAksPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "interfaceName": { + "description": "The default interface name for this L3 network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.", + "type": "string", + "maxLength": 12, + "pattern": "^[a-zA-Z0-9@._-]*$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipAllocationType": { + "description": "The type of the IP address allocation, defaulted to \"DualStack\".", + "type": "string", + "default": "DualStack", + "enum": [ + "IPV4", + "IPV6", + "DualStack" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "IpAllocationType" + } + }, + "ipv4ConnectedPrefix": { + "description": "The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type\nis IPV4 or DualStack.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipv6ConnectedPrefix": { + "description": "The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type\nis IPV6 or DualStack.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "l3IsolationDomainId": { + "description": "The resource ID of the Network Fabric l3IsolationDomain.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the L3 network.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "L3NetworkProvisioningState" + }, + "readOnly": true + }, + "virtualMachinesAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this L3 network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vlan": { + "description": "The VLAN from the l3IsolationDomain that is used for this network.", + "type": "integer", + "format": "int64", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "LldpNeighbor": { + "type": "object", + "title": "Type Deprecated. Will be removed in an upcoming version. LldpNeighbor represents the details about the device connected to the NIC.", + "properties": { + "portDescription": { + "description": "The descriptive information about the port on the connected device.", + "type": "string", + "readOnly": true + }, + "portName": { + "description": "The system-assigned name of the port on the connected device.", + "type": "string", + "readOnly": true + }, + "systemDescription": { + "description": "The descriptive information about the connected device.", + "type": "string", + "readOnly": true + }, + "systemName": { + "description": "The system-assigned name of the connected device.", + "type": "string", + "readOnly": true + } + } + }, + "MachineDisk": { + "type": "object", + "title": "Disk represents the properties of the disk.", + "properties": { + "capacityGB": { + "description": "The maximum amount of storage in GB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "connection": { + "description": "The connection type of the rack SKU resource.", + "type": "string", + "enum": [ + "PCIE", + "SATA", + "RAID", + "SAS" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "MachineSkuDiskConnectionType" + }, + "readOnly": true + }, + "type": { + "description": "The disk type of rack SKU resource.", + "type": "string", + "enum": [ + "HDD", + "SSD" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "DiskType" + }, + "readOnly": true + } + } + }, + "MachineSkuProperties": { + "type": "object", + "title": "MachineSkuProperties represents the properties of the machine SKU.", + "properties": { + "bootstrapProtocol": { + "description": "The type of bootstrap protocol used.", + "type": "string", + "enum": [ + "PXE" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BootstrapProtocol" + }, + "readOnly": true + }, + "cpuCores": { + "description": "The count of CPU cores for this machine.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "cpuSockets": { + "description": "The count of CPU sockets for this machine.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "disks": { + "description": "The list of disks.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineDisk" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "generation": { + "description": "The generation of the architecture.", + "type": "string", + "readOnly": true + }, + "hardwareVersion": { + "description": "The hardware version of the machine.", + "type": "string", + "readOnly": true + }, + "memoryCapacityGB": { + "description": "The maximum amount of memory in GB.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "model": { + "description": "The model of the machine.", + "type": "string", + "readOnly": true + }, + "networkInterfaces": { + "description": "The list of network interfaces.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "totalThreads": { + "description": "The count of SMT and physical core threads for this machine.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "vendor": { + "description": "The make of the machine.", + "type": "string", + "readOnly": true + } + } + }, + "MachineSkuSlot": { + "type": "object", + "title": "MachineSkuSlot represents a single SKU and rack slot associated with the machine.", + "properties": { + "properties": { + "$ref": "#/definitions/MachineSkuProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "rackSlot": { + "description": "The position in the rack for the machine.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "ManagedResourceGroupConfiguration": { + "type": "object", + "title": "ManagedResourceGroupConfiguration represents the configuration of the resource group managed by Azure.", + "properties": { + "location": { + "description": "The location of the managed resource group. If not specified, the location of the parent resource is chosen.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "The name for the managed resource group. If not specified, the unique name is automatically generated.", + "type": "string", + "maxLength": 75, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "NetworkAttachment": { + "type": "object", + "title": "NetworkAttachment represents the single network attachment.", + "required": [ + "attachedNetworkId", + "ipAllocationMethod" + ], + "properties": { + "attachedNetworkId": { + "description": "The resource ID of the associated network attached to the virtual machine.\nIt can be one of cloudServicesNetwork, l3Network, l2Network or trunkedNetwork resources.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "defaultGateway": { + "description": "The indicator of whether this is the default gateway.\nOnly one of the attached networks (including the CloudServicesNetwork attachment) for a single machine may be specified as True.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "DefaultGateway" + } + }, + "ipAllocationMethod": { + "description": "The IP allocation mechanism for the virtual machine.\nDynamic and Static are only valid for l3Network which may also specify Disabled.\nOtherwise, Disabled is the only permitted value.", + "type": "string", + "enum": [ + "Dynamic", + "Static", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineIPAllocationMethod" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipv4Address": { + "description": "The IPv4 address of the virtual machine.\n\nThis field is used only if the attached network has IPAllocationType of IPV4 or DualStack.\n\nIf IPAllocationMethod is:\nStatic - this field must contain a user specified IPv4 address from within the subnet specified in the attached network.\nDynamic - this field is read-only, but will be populated with an address from within the subnet specified in the attached network.\nDisabled - this field will be empty.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ipv6Address": { + "description": "The IPv6 address of the virtual machine.\n\nThis field is used only if the attached network has IPAllocationType of IPV6 or DualStack.\n\nIf IPAllocationMethod is:\nStatic - this field must contain an IPv6 address range from within the range specified in the attached network.\nDynamic - this field is read-only, but will be populated with an range from within the subnet specified in the attached network.\nDisabled - this field will be empty.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "macAddress": { + "description": "The MAC address of the interface for the virtual machine that corresponds to this network attachment.", + "type": "string", + "readOnly": true + }, + "networkAttachmentName": { + "description": "The associated network's interface name.\nIf specified, the network attachment name has a maximum length of 15 characters and must be unique to this virtual machine.\nIf the user doesn’t specify this value, the default interface name of the network resource will be used.\nFor a CloudServicesNetwork resource, this name will be ignored.", + "type": "string", + "maxLength": 15, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "NetworkConfiguration": { + "type": "object", + "title": "NetworkConfiguration specifies the Kubernetes cluster network related configuration.", + "required": [ + "cloudServicesNetworkId", + "cniNetworkId" + ], + "properties": { + "attachedNetworkConfiguration": { + "$ref": "#/definitions/AttachedNetworkConfiguration", + "description": "The configuration of networks being attached to the cluster for use by the workloads that run on this Kubernetes cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "bgpServiceLoadBalancerConfiguration": { + "$ref": "#/definitions/BgpServiceLoadBalancerConfiguration", + "description": "The configuration of the BGP service load balancer for this Kubernetes cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cloudServicesNetworkId": { + "description": "The resource ID of the associated Cloud Services network.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cniNetworkId": { + "description": "The resource ID of the Layer 3 network that is used for creation of the Container Networking Interface network.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dnsServiceIp": { + "description": "The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in service CIDR.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "podCidrs": { + "description": "The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "serviceCidrs": { + "description": "The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "NetworkInterface": { + "type": "object", + "title": "NetworkInterface represents properties of the network interface.", + "properties": { + "address": { + "description": "The partial address of Peripheral Component Interconnect (PCI).", + "type": "string", + "readOnly": true + }, + "deviceConnectionType": { + "description": "The connection type of the device.", + "type": "string", + "enum": [ + "PCI" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "DeviceConnectionType" + }, + "readOnly": true + }, + "model": { + "description": "The model name of the device.", + "type": "string", + "readOnly": true + }, + "physicalSlot": { + "description": "The physical slot for this device.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "portCount": { + "description": "The number of ports on the device.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "portSpeed": { + "description": "The maximum amount of data in GB that the line card transmits through a port at any given second.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "vendor": { + "description": "The vendor name of the device.", + "type": "string", + "readOnly": true + } + } + }, + "Nic": { + "type": "object", + "title": "Type Deprecated. Will be removed in an upcoming version. Nic represents the network interface card details.", + "properties": { + "lldpNeighbor": { + "$ref": "#/definitions/LldpNeighbor", + "description": "The information about the device connected to this NIC.", + "readOnly": true + }, + "macAddress": { + "description": "The MAC address associated with this NIC.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the NIC/interface.", + "type": "string", + "readOnly": true + } + } + }, + "OsDisk": { + "type": "object", + "title": "OsDisk represents configuration of the boot disk.", + "required": [ + "diskSizeGB" + ], + "properties": { + "createOption": { + "description": "The strategy for creating the OS disk.", + "type": "string", + "default": "Ephemeral", + "enum": [ + "Ephemeral" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OsDiskCreateOption" + } + }, + "deleteOption": { + "description": "The strategy for deleting the OS disk.", + "type": "string", + "default": "Delete", + "enum": [ + "Delete" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OsDiskDeleteOption" + } + }, + "diskSizeGB": { + "description": "The size of the disk in gigabytes. Required if the createOption is Ephemeral.", + "type": "integer", + "format": "int64" + } + } + }, + "Rack": { + "type": "object", + "title": "Rack represents the hardware of the rack and is dependent upon the cluster for lifecycle.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/RackProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "RackDefinition": { + "type": "object", + "title": "RackDefinition represents details regarding the rack.", + "required": [ + "networkRackId", + "rackSkuId", + "rackSerialNumber" + ], + "properties": { + "availabilityZone": { + "description": "The zone name used for this rack when created. Availability zones are used for workload placement.", + "type": "string", + "pattern": "^[a-zA-Z0-9]{1,10}$" + }, + "bareMetalMachineConfigurationData": { + "description": "The unordered list of bare metal machine configuration.", + "type": "array", + "items": { + "$ref": "#/definitions/BareMetalMachineConfigurationData" + }, + "x-ms-identifiers": [] + }, + "networkRackId": { + "description": "The resource ID of the network rack that matches this rack definition.", + "type": "string" + }, + "rackLocation": { + "description": "The free-form description of the rack's location.", + "type": "string", + "maxLength": 256 + }, + "rackSerialNumber": { + "description": "The unique identifier for the rack within Network Cloud cluster. An alternate unique alphanumeric value other than a serial number may be provided if desired.", + "type": "string", + "maxLength": 64, + "minLength": 1 + }, + "rackSkuId": { + "description": "The resource ID of the sku for the rack being added.", + "type": "string" + }, + "storageApplianceConfigurationData": { + "description": "The list of storage appliance configuration data for this rack.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageApplianceConfigurationData" + }, + "x-ms-identifiers": [] + } + } + }, + "RackList": { + "type": "object", + "title": "RackList represents a list of racks.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of racks.", + "type": "array", + "items": { + "$ref": "#/definitions/Rack" + } + } + } + }, + "RackPatchParameters": { + "type": "object", + "title": "RackPatchParameters represents the body of the request to patch the rack properties.", + "properties": { + "properties": { + "$ref": "#/definitions/RacksPatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "RackProperties": { + "type": "object", + "title": "RackProperties represents the properties of the rack.", + "required": [ + "rackSkuId", + "rackSerialNumber", + "availabilityZone", + "rackLocation" + ], + "properties": { + "availabilityZone": { + "description": "The value that will be used for machines in this rack to represent the availability zones that can be referenced by Hybrid AKS Clusters for node arrangement.", + "type": "string", + "pattern": "^[a-zA-Z0-9]{1,10}$" + }, + "clusterId": { + "description": "The resource ID of the cluster the rack is created for. This value is set when the rack is created by the cluster.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the rack.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RackDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the rack resource.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RackProvisioningState" + }, + "readOnly": true + }, + "rackLocation": { + "description": "The free-form description of the rack location. (e.g. “DTN Datacenter, Floor 3, Isle 9, Rack 2B”)", + "type": "string", + "maxLength": 256 + }, + "rackSerialNumber": { + "description": "The unique identifier for the rack within Network Cloud cluster. An alternate unique alphanumeric value other than a serial number may be provided if desired.", + "type": "string", + "maxLength": 64, + "minLength": 1 + }, + "rackSkuId": { + "description": "The SKU for the rack.", + "type": "string" + } + } + }, + "RackSku": { + "type": "object", + "title": "RackSku represents the SKU information of the rack.", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/RackSkuProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "x-ms-azure-resource": true + }, + "RackSkuList": { + "type": "object", + "title": "RackSkuList represents a list of rack SKUs.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of Rack SKUs.", + "type": "array", + "items": { + "$ref": "#/definitions/RackSku" + } + } + } + }, + "RackSkuProperties": { + "type": "object", + "title": "RackSkuProperties represents the properties of compute-related hardware for a rack. This supports both aggregator and compute racks.", + "properties": { + "computeMachines": { + "description": "The list of machine SKUs and associated rack slot for the compute-dedicated machines in this rack model.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineSkuSlot" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "controllerMachines": { + "description": "The list of machine SKUs and associated rack slot for the control-plane dedicated machines in this rack model.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineSkuSlot" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "description": { + "description": "The free-form text describing the rack.", + "type": "string", + "readOnly": true + }, + "maxClusterSlots": { + "description": "The maximum number of compute racks supported by an aggregator rack. 0 if this is a compute rack or a rack for a single rack cluster(rackType=\"Single\").", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the rack SKU resource.", + "type": "string", + "enum": [ + "Succeeded" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RackSkuProvisioningState" + }, + "readOnly": true + }, + "rackType": { + "description": "The type of the rack.", + "type": "string", + "enum": [ + "Aggregator", + "Compute", + "Single" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RackSkuType" + }, + "readOnly": true + }, + "storageAppliances": { + "description": "The list of appliance SKUs and associated rack slot for the storage appliance(s) in this rack model.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageApplianceSkuSlot" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "supportedRackSkuIds": { + "description": "The list of supported SKUs if the rack is an aggregator.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "RacksPatchProperties": { + "type": "object", + "title": "RacksPatchProperties represents the properties of the rack during patching.", + "properties": { + "rackLocation": { + "description": "The free-form description of the rack location. (e.g. “DTN Datacenter, Floor 3, Isle 9, Rack 2B”)", + "type": "string", + "maxLength": 256 + }, + "rackSerialNumber": { + "description": "The globally unique identifier for the rack.", + "type": "string", + "maxLength": 64, + "minLength": 1 + } + } + }, + "ServiceLoadBalancerBgpPeer": { + "type": "object", + "title": "ServiceLoadBalancerBgpPeer represents the configuration of the BGP service load balancer for the Kubernetes cluster.", + "required": [ + "name", + "peerAddress", + "peerAsn" + ], + "properties": { + "bfdEnabled": { + "description": "The indicator of BFD enablement for this BgpPeer.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BfdEnabled" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "bgpMultiHop": { + "description": "The indicator to enable multi-hop peering support.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BgpMultiHop" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "holdTime": { + "description": "The requested BGP hold time value. This field uses ISO 8601 duration format, for example P1H.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keepAliveTime": { + "description": "The requested BGP keepalive time value. This field uses ISO 8601 duration format, for example P1H.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "myAsn": { + "description": "The autonomous system number used for the local end of the BGP session.", + "type": "integer", + "format": "int64", + "maximum": 4294967295, + "minimum": 0, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "The name used to identify this BGP peer for association with a BGP advertisement.", + "type": "string", + "pattern": "^[a-z0-9]([a-z0-9.-]{0,61}[a-z0-9]){0,1}$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "password": { + "description": "The authentication password for routers enforcing TCP MD5 authenticated sessions.", + "type": "string", + "maxLength": 80, + "pattern": "^[a-zA-Z0-9]{0,80}$", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "peerAddress": { + "description": "The IPv4 or IPv6 address used to connect this BGP session.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "peerAsn": { + "description": "The autonomous system number expected from the remote end of the BGP session.", + "type": "integer", + "format": "int64", + "maximum": 4294967295, + "minimum": 0, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "peerPort": { + "description": "The port used to connect this BGP session.", + "type": "integer", + "format": "int64", + "default": 179, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "ServicePrincipalInformation": { + "type": "object", + "title": "ServicePrincipalInformation represents the details of the service principal to be used by the cluster during Arc Appliance installation.", + "required": [ + "tenantId", + "principalId", + "applicationId", + "password" + ], + "properties": { + "applicationId": { + "description": "The application ID, also known as client ID, of the service principal.", + "type": "string" + }, + "password": { + "description": "The password of the service principal.", + "type": "string", + "x-ms-secret": true + }, + "principalId": { + "description": "The principal ID, also known as the object ID, of the service principal.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID, also known as the directory ID, of the tenant in which the service principal is created.", + "type": "string" + } + } + }, + "SshPublicKey": { + "type": "object", + "title": "SshPublicKey represents the public key used to authenticate with a resource through SSH.", + "required": [ + "keyData" + ], + "properties": { + "keyData": { + "description": "The SSH public key data.", + "type": "string", + "minLength": 1 + } + } + }, + "StorageAppliance": { + "type": "object", + "title": "StorageAppliance represents on-premises Network Cloud storage appliance.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/StorageApplianceProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "StorageApplianceConfigurationData": { + "type": "object", + "title": "StorageApplianceConfigurationData represents configuration for the storage application.", + "required": [ + "rackSlot", + "adminCredentials", + "serialNumber" + ], + "properties": { + "adminCredentials": { + "$ref": "#/definitions/AdministrativeCredentials", + "description": "The credentials of the administrative interface on this storage appliance." + }, + "rackSlot": { + "description": "The slot that storage appliance is in the rack based on the BOM configuration.", + "type": "integer", + "format": "int64", + "maximum": 256, + "minimum": 1 + }, + "serialNumber": { + "description": "The serial number of the appliance.", + "type": "string" + }, + "storageApplianceName": { + "description": "The user-provided name for the storage appliance that will be created from this specification.", + "type": "string", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$" + } + } + }, + "StorageApplianceEnableRemoteVendorManagementParameters": { + "type": "object", + "title": "StorageApplianceEnableRemoteVendorManagementParameters represents the body of the request to enable remote vendor management of a storage appliance.", + "properties": { + "supportEndpoints": { + "description": "Field Deprecated. This field is not used and will be rejected if provided. The list of IPv4 subnets (in CIDR format), IPv6 subnets (in CIDR format), or hostnames that the storage appliance needs accessible in order to turn on the remote vendor management.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "StorageApplianceList": { + "type": "object", + "title": "StorageApplianceList represents a list of storage appliances.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of storage appliances.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageAppliance" + } + } + } + }, + "StorageAppliancePatchParameters": { + "type": "object", + "title": "StorageAppliancePatchParameters represents the body of the request to patch storage appliance properties.", + "properties": { + "properties": { + "$ref": "#/definitions/StorageAppliancePatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "StorageAppliancePatchProperties": { + "type": "object", + "title": "StorageAppliancePatchProperties represents the properties of the storage appliance that can be patched.", + "properties": { + "serialNumber": { + "description": "The serial number for the storage appliance.", + "type": "string" + } + } + }, + "StorageApplianceProperties": { + "type": "object", + "title": "StorageApplianceProperties represents the properties of the storage appliance.", + "required": [ + "rackId", + "storageApplianceSkuId", + "rackSlot", + "serialNumber", + "administratorCredentials" + ], + "properties": { + "administratorCredentials": { + "$ref": "#/definitions/AdministrativeCredentials", + "description": "The credentials of the administrative interface on this storage appliance.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "capacity": { + "description": "The total capacity of the storage appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "capacityUsed": { + "description": "The amount of storage consumed.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the cluster this storage appliance is associated with.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The detailed status of the storage appliance.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "StorageApplianceDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "managementIpv4Address": { + "description": "The endpoint for the management interface of the storage appliance.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the storage appliance.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "StorageApplianceProvisioningState" + }, + "readOnly": true + }, + "rackId": { + "description": "The resource ID of the rack where this storage appliance resides.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "rackSlot": { + "description": "The slot the storage appliance is in the rack based on the BOM configuration.", + "type": "integer", + "format": "int64", + "maximum": 256, + "minimum": 1, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "remoteVendorManagementFeature": { + "description": "The indicator of whether the storage appliance supports remote vendor management.", + "type": "string", + "enum": [ + "Supported", + "Unsupported" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RemoteVendorManagementFeature" + }, + "readOnly": true + }, + "remoteVendorManagementStatus": { + "description": "The indicator of whether the remote vendor management feature is enabled or disabled, or unsupported if it is an unsupported feature.", + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "Unsupported" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "RemoteVendorManagementStatus" + }, + "readOnly": true + }, + "serialNumber": { + "description": "The serial number for the storage appliance.", + "type": "string" + }, + "storageApplianceSkuId": { + "description": "The SKU for the storage appliance.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "StorageApplianceSkuProperties": { + "type": "object", + "title": "StorageApplianceSkuProperties represents the properties of the storage appliance SKU.", + "properties": { + "capacityGB": { + "description": "The maximum capacity of the storage appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "model": { + "description": "The model of the storage appliance.", + "type": "string", + "readOnly": true + } + } + }, + "StorageApplianceSkuSlot": { + "type": "object", + "title": "StorageApplianceSkuSlot represents the single SKU and rack slot associated with the storage appliance.", + "properties": { + "properties": { + "$ref": "#/definitions/StorageApplianceSkuProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "rackSlot": { + "description": "The position in the rack for the storage appliance.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "StorageProfile": { + "type": "object", + "title": "StorageProfile represents information about a disk.", + "required": [ + "osDisk" + ], + "properties": { + "osDisk": { + "$ref": "#/definitions/OsDisk", + "description": "The disk to use with this virtual machine." + }, + "volumeAttachments": { + "description": "The resource IDs of volumes that are requested to be attached to the virtual machine.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TagsParameter": { + "type": "object", + "title": "TagsParameter represents the resource tags.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TrunkedNetwork": { + "type": "object", + "title": "TrunkedNetwork represents a network that utilizes multiple isolation domains and specified VLANs to create a trunked network.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/TrunkedNetworkProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "TrunkedNetworkAttachmentConfiguration": { + "type": "object", + "title": "TrunkedNetworkAttachmentConfiguration represents the configuration of the attachment of a trunked network.", + "required": [ + "networkId" + ], + "properties": { + "networkId": { + "description": "The resource ID of the network that is being configured for attachment.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "pluginType": { + "description": "The indicator of how this network will be utilized by the Kubernetes cluster.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice", + "MACVLAN", + "IPVLAN" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "KubernetesPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "TrunkedNetworkList": { + "type": "object", + "title": "TrunkedNetworkList represents a list of trunked networks.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of trunked networks.", + "type": "array", + "items": { + "$ref": "#/definitions/TrunkedNetwork" + } + } + } + }, + "TrunkedNetworkPatchParameters": { + "type": "object", + "title": "TrunkedNetworkPatchParameters represents the body of the request to patch the Trunked network.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TrunkedNetworkProperties": { + "type": "object", + "title": "TrunkedNetworkProperties represents properties of the trunked network.", + "required": [ + "isolationDomainIds", + "vlans" + ], + "properties": { + "associatedResourceIds": { + "description": "The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "clusterId": { + "description": "The resource ID of the Network Cloud cluster this trunked network is associated with.", + "type": "string", + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the trunked network.", + "type": "string", + "enum": [ + "Error", + "Available", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "TrunkedNetworkDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "hybridAksClustersAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource IDs that are associated with this trunked network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "hybridAksPluginType": { + "description": "Field Deprecated. The field was previously optional, now it will have no defined behavior and will be ignored. The network plugin type for Hybrid AKS.", + "type": "string", + "default": "SRIOV", + "enum": [ + "DPDK", + "SRIOV", + "OSDevice" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "HybridAksPluginType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "interfaceName": { + "description": "The default interface name for this trunked network in the virtual machine. This name can be overridden by the name supplied in the network attachment configuration of that virtual machine.", + "type": "string", + "maxLength": 12, + "pattern": "^[a-zA-Z0-9@._-]*$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "isolationDomainIds": { + "description": "The list of resource IDs representing the Network Fabric isolation domains. It can be any combination of l2IsolationDomain and l3IsolationDomain resources.", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "The provisioning state of the trunked network.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "TrunkedNetworkProvisioningState" + }, + "readOnly": true + }, + "virtualMachinesAssociatedIds": { + "description": "Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are currently using this trunked network.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vlans": { + "description": "The list of vlans that are selected from the isolation domains for trunking.", + "type": "array", + "minItems": 1, + "items": { + "type": "integer", + "format": "int64" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "ValidationThreshold": { + "type": "object", + "title": "ValidationThreshold indicates allowed machine and node hardware and deployment failures.", + "required": [ + "type", + "grouping", + "value" + ], + "properties": { + "grouping": { + "description": "Selection of how the type evaluation is applied to the cluster calculation.", + "type": "string", + "enum": [ + "PerCluster", + "PerRack" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ValidationThresholdGrouping" + } + }, + "type": { + "description": "Selection of how the threshold should be evaluated.", + "type": "string", + "enum": [ + "CountSuccess", + "PercentSuccess" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ValidationThresholdType" + } + }, + "value": { + "description": "The numeric threshold value.", + "type": "integer", + "format": "int64", + "minimum": 0 + } + } + }, + "VirtualMachine": { + "type": "object", + "title": "VirtualMachine represents the on-premises Network Cloud virtual machine.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/VirtualMachineProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "VirtualMachineList": { + "type": "object", + "title": "VirtualMachineList represents a list of virtual machines.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of virtual machines.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + } + } + } + }, + "VirtualMachinePatchParameters": { + "type": "object", + "title": "VirtualMachinePatchParameters represents the body of the request to patch the virtual machine.", + "properties": { + "properties": { + "$ref": "#/definitions/VirtualMachinePatchProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VirtualMachinePatchProperties": { + "type": "object", + "title": "VirtualMachinePatchProperties represents the properties of the virtual machine that can be patched.", + "properties": { + "vmImageRepositoryCredentials": { + "$ref": "#/definitions/ImageRepositoryCredentials", + "description": "The credentials used to login to the image repository that has access to the specified image." + } + } + }, + "VirtualMachinePlacementHint": { + "type": "object", + "title": "VirtualMachinePlacementHint represents a single scheduling hint of the virtual machine.", + "required": [ + "hintType", + "schedulingExecution", + "resourceId", + "scope" + ], + "properties": { + "hintType": { + "description": "The specification of whether this hint supports affinity or anti-affinity with the referenced resources.", + "type": "string", + "enum": [ + "Affinity", + "AntiAffinity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachinePlacementHintType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "resourceId": { + "description": "The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine.", + "type": "string", + "minLength": 1, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "schedulingExecution": { + "description": "The indicator of whether the hint is a hard or soft requirement during scheduling.", + "type": "string", + "enum": [ + "Hard", + "Soft" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineSchedulingExecution" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "scope": { + "description": "The scope for the virtual machine affinity or anti-affinity placement hint. It should always be \"Machine\" in the case of node affinity.", + "type": "string", + "enum": [ + "Rack", + "Machine" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachinePlacementHintPodAffinityScope" + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "VirtualMachinePowerOffParameters": { + "type": "object", + "title": "VirtualMachinePowerOffParameters represents the body of the request to power off virtual machine.", + "properties": { + "skipShutdown": { + "description": "The indicator of whether to skip the graceful OS shutdown and power off the virtual machine immediately.", + "type": "string", + "default": "False", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "SkipShutdown" + } + } + } + }, + "VirtualMachineProperties": { + "type": "object", + "title": "VirtualMachineProperties represents the properties of the virtual machine.", + "required": [ + "vmImage", + "cpuCores", + "memorySizeGB", + "storageProfile", + "cloudServicesNetworkAttachment", + "adminUsername" + ], + "properties": { + "adminUsername": { + "description": "The name of the administrator to which the ssh public keys will be added into the authorized keys.", + "type": "string", + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-z_][a-z0-9_]{0,31}$", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "availabilityZone": { + "description": "The cluster availability zone containing this virtual machine.", + "type": "string", + "readOnly": true + }, + "bareMetalMachineId": { + "description": "The resource ID of the bare metal machine the virtual machine has landed to.", + "type": "string", + "readOnly": true + }, + "bootMethod": { + "description": "Selects the boot method for the virtual machine.", + "type": "string", + "default": "UEFI", + "enum": [ + "UEFI", + "BIOS" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineBootMethod" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cloudServicesNetworkAttachment": { + "$ref": "#/definitions/NetworkAttachment", + "description": "The cloud service network that provides platform-level services for the virtual machine.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterId": { + "description": "The resource ID of the cluster the virtual machine is created for.", + "type": "string", + "readOnly": true + }, + "cpuCores": { + "description": "The number of CPU cores in the virtual machine.", + "type": "integer", + "format": "int64", + "minimum": 2, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "detailedStatus": { + "description": "The more detailed status of the virtual machine.", + "type": "string", + "enum": [ + "Available", + "Error", + "Provisioning", + "Running", + "Scheduling", + "Stopped", + "Terminating", + "Unknown" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "isolateEmulatorThread": { + "description": "Field Deprecated, the value will be ignored if provided. The indicator of whether one of the specified CPU cores is isolated to run the emulator thread for this virtual machine.", + "type": "string", + "default": "True", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineIsolateEmulatorThread" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "memorySizeGB": { + "description": "The memory size of the virtual machine in GB.", + "type": "integer", + "format": "int64", + "minimum": 1, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "networkAttachments": { + "description": "The list of network attachments to the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAttachment" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "networkData": { + "description": "The Base64 encoded cloud-init network data.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "placementHints": { + "description": "The scheduling hints for the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachinePlacementHint" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "powerState": { + "description": "The power state of the virtual machine.", + "type": "string", + "enum": [ + "On", + "Off", + "Unknown" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachinePowerState" + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the virtual machine.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineProvisioningState" + }, + "readOnly": true + }, + "sshPublicKeys": { + "description": "The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername.", + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "The storage profile that specifies size and other parameters about the disks related to the virtual machine.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "userData": { + "description": "The Base64 encoded cloud-init user data.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "virtioInterface": { + "description": "Field Deprecated, use virtualizationModel instead. The type of the virtio interface.", + "type": "string", + "default": "Modern", + "enum": [ + "Modern", + "Transitional" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineVirtioInterfaceType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vmDeviceModel": { + "description": "The type of the device model to use.", + "type": "string", + "default": "T2", + "enum": [ + "T1", + "T2" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VirtualMachineDeviceModelType" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vmImage": { + "description": "The virtual machine image that is currently provisioned to the OS disk, using the full url and tag notation used to pull the image.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vmImageRepositoryCredentials": { + "$ref": "#/definitions/ImageRepositoryCredentials", + "description": "The credentials used to login to the image repository that has access to the specified image." + }, + "volumes": { + "description": "The resource IDs of volumes that are attached to the virtual machine.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "Volume": { + "type": "object", + "title": "Volume represents storage made available for use by resources running on the cluster.", + "required": [ + "extendedLocation", + "properties" + ], + "properties": { + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the cluster associated with the resource." + }, + "properties": { + "$ref": "#/definitions/VolumeProperties", + "description": "The list of the resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "x-ms-azure-resource": true + }, + "VolumeList": { + "type": "object", + "title": "VolumeList represents a list of volumes.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of volumes.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + } + } + }, + "VolumePatchParameters": { + "type": "object", + "title": "VolumePatchParameters represents the body of the request to patch the volume resource.", + "properties": { + "tags": { + "description": "The Azure resource tags that will replace the existing ones.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VolumeProperties": { + "type": "object", + "title": "VolumeProperties represents properties of the volume resource.", + "required": [ + "sizeMiB" + ], + "properties": { + "attachedTo": { + "description": "The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "detailedStatus": { + "description": "The more detailed status of the volume.", + "type": "string", + "enum": [ + "Error", + "Active", + "Provisioning" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VolumeDetailedStatus" + }, + "readOnly": true + }, + "detailedStatusMessage": { + "description": "The descriptive message about the current detailed status.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the volume.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Accepted" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "VolumeProvisioningState" + }, + "readOnly": true + }, + "serialNumber": { + "description": "The unique identifier of the volume.", + "type": "string", + "readOnly": true + }, + "sizeMiB": { + "description": "The size of the allocation for this volume in Mebibytes.", + "type": "integer", + "format": "int64", + "minimum": 1, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + } + }, + "parameters": { + "AgentPoolNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the Kubernetes cluster agent pool.", + "name": "agentPoolName", + "in": "path", + "required": true + }, + "BareMetalMachineKeySetNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the bare metal machine key set.", + "name": "bareMetalMachineKeySetName", + "in": "path", + "required": true + }, + "BareMetalMachineNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the bare metal machine.", + "name": "bareMetalMachineName", + "in": "path", + "required": true + }, + "BmcKeySetNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the baseboard management controller key set.", + "name": "bmcKeySetName", + "in": "path", + "required": true + }, + "CloudServicesNetworkNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the cloud services network.", + "name": "cloudServicesNetworkName", + "in": "path", + "required": true + }, + "ClusterManagerNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the cluster manager.", + "name": "clusterManagerName", + "in": "path", + "required": true + }, + "ClusterNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the cluster.", + "name": "clusterName", + "in": "path", + "required": true + }, + "ConsoleNameParameter": { + "pattern": "^default$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the virtual machine console.", + "name": "consoleName", + "in": "path", + "required": true + }, + "KubernetesClusterNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the Kubernetes cluster.", + "name": "kubernetesClusterName", + "in": "path", + "required": true + }, + "L2NetworkNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the L2 network.", + "name": "l2NetworkName", + "in": "path", + "required": true + }, + "L3NetworkNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the L3 network.", + "name": "l3NetworkName", + "in": "path", + "required": true + }, + "MetricsConfigurationName": { + "pattern": "^default$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the metrics configuration for the cluster.", + "name": "metricsConfigurationName", + "in": "path", + "required": true + }, + "RackNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the rack.", + "name": "rackName", + "in": "path", + "required": true + }, + "RackSkuNameParameter": { + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the rack SKU.", + "name": "rackSkuName", + "in": "path", + "required": true + }, + "StorageApplianceNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the storage appliance.", + "name": "storageApplianceName", + "in": "path", + "required": true + }, + "TrunkedNetworkNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,28}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the trunked network.", + "name": "trunkedNetworkName", + "in": "path", + "required": true + }, + "VirtualMachineNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9]{0,62}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the virtual machine.", + "name": "virtualMachineName", + "in": "path", + "required": true + }, + "VolumeNameParameter": { + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-_]{0,62}[a-zA-Z0-9])$", + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the volume.", + "name": "volumeName", + "in": "path", + "required": true + } + }, + "securityDefinitions": { + "azure_auth": { + "description": "Azure Active Directory OAuth2 Flow.", + "type": "oauth2", + "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/networkcloud/resource-manager/readme.md b/specification/networkcloud/resource-manager/readme.md index 2d66f50917c3..fe14d6e20930 100644 --- a/specification/networkcloud/resource-manager/readme.md +++ b/specification/networkcloud/resource-manager/readme.md @@ -27,9 +27,11 @@ These are the global settings for NetworkCloud. ```yaml openapi-type: arm openapi-subtype: providerHub -tag: package-2023-05-01-preview +tag: package-2023-07-01 ``` +--- + ### Tag: package-2022-12-12-preview These settings apply only when `--tag=package-2022-12-12-preview` is specified on the command line. @@ -50,6 +52,17 @@ input-file: - Microsoft.NetworkCloud/preview/2023-05-01-preview/networkcloud.json ``` +### Tag: package-2023-07-01 + +These settings apply only when `--tag=package-2023-07-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-07-01' +input-file: + - Microsoft.NetworkCloud/stable/2023-07-01/networkcloud.json +``` + +--- + # Code Generation ## Swagger to SDK diff --git a/specification/newrelic/NewRelic.Management/examples/Accounts_List_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Accounts_List_MaximumSet_Gen.json index 8ade08763dbf..4a2433e12609 100644 --- a/specification/newrelic/NewRelic.Management/examples/Accounts_List_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Accounts_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Accounts_List_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Accounts_List_MinimumSet_Gen.json index 43f0f8695216..f7e237017bd9 100644 --- a/specification/newrelic/NewRelic.Management/examples/Accounts_List_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Accounts_List_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json index 8935c22fad60..e49241329e0a 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "resource": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MaximumSet_Gen.json index 14b578a48ec1..844180915106 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MinimumSet_Gen.json index 2bd7a9e86be7..ed150f60437e 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MaximumSet_Gen.json index 457c15583e86..1ac93fd575bf 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MinimumSet_Gen.json index 2d73e241ed52..731cde656d52 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricRules_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { @@ -12,7 +12,11 @@ }, "responses": { "200": { - "body": {} + "body": { + "sendMetrics": "Disabled", + "filteringTags": [], + "userEmail": null + } } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json index 18b985411b87..3b4fcdb45653 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_GetMetricStatus_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -17,7 +17,7 @@ "200": { "body": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ] } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json index 75f5018cbb36..8505847b12ba 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json @@ -3,16 +3,21 @@ "title": "Monitors_GetMetricStatus_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { - "body": {} + "body": { + "azureResourceIds": [] + } } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_Get_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_Get_MaximumSet_Gen.json index 94906d38753c..197e8d04d4a1 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_Get_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MaximumSet_Gen.json index 073224a6b514..67a6ea17b9ec 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_ListAppServices_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "pvzrksrmzowobuhxpwiotnpcvjbu" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -18,7 +18,7 @@ "body": { "value": [ { - "azureResourceId": "kjvbkwuqmouugrrz", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "agentVersion": "owxkssnbp", "agentStatus": "vclwfecbppsfaygdccfu" } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MinimumSet_Gen.json index fbb993f1a5d1..606d1792ce04 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListAppServices_MinimumSet_Gen.json @@ -3,19 +3,21 @@ "title": "Monitors_ListAppServices_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json index ccffc4f0a4f0..4c6a891b3a76 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListByResourceGroup_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic" }, "responses": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListBySubscription_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListBySubscription_MaximumSet_Gen.json index 5b8faa549b4a..c03b1c416021 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListBySubscription_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListBySubscription_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListBySubscription_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MaximumSet_Gen.json index ec6fefd0e4f0..820cb2ae9bb5 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MinimumSet_Gen.json index 889c3df7559c..e170c607db4b 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListHosts_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { @@ -16,9 +16,8 @@ "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json index 45a35f187447..636e66cfc49b 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListMonitoredResources_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json index d0efed12483e..f145a401f995 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json @@ -3,16 +3,15 @@ "title": "Monitors_ListMonitoredResources_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MaximumSet_Gen.json index 9d73a790743e..96b311607fe5 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_SwitchBilling_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", - "azureResourceId": "enfghpfw", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "organizationId": "k", "planData": { "usageType": "PAYG", diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MinimumSet_Gen.json index faea5e3503f8..06bddcb3149d 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_SwitchBilling_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_SwitchBilling_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_Update_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_Update_MaximumSet_Gen.json index 58e7492e0746..6e22dc73bca6 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_Update_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "properties": { diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MaximumSet_Gen.json index 09acb2b09e82..7c53ae5e36d7 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MinimumSet_Gen.json index 8bfc4d47aaa5..5df94de4f3cd 100644 --- a/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Monitors_VmHostPayload_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Organizations_List_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Organizations_List_MaximumSet_Gen.json index 237bd0a9b373..7d51c73537a1 100644 --- a/specification/newrelic/NewRelic.Management/examples/Organizations_List_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Organizations_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Organizations_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Organizations_List_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Organizations_List_MinimumSet_Gen.json index 86f1e3a6e07d..c5f56aebbda9 100644 --- a/specification/newrelic/NewRelic.Management/examples/Organizations_List_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Organizations_List_MinimumSet_Gen.json @@ -3,18 +3,14 @@ "title": "Organizations_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, "responses": { "200": { "body": { - "value": [ - { - "id": "ycdsgeiitvxcd" - } - ] + "value": [] } } } diff --git a/specification/newrelic/NewRelic.Management/examples/Plans_List_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Plans_List_MaximumSet_Gen.json index a0c7f196b6a9..d98c6f874c9a 100644 --- a/specification/newrelic/NewRelic.Management/examples/Plans_List_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Plans_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Plans_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "accountId": "pwuxgvrmkk", "organizationId": "hilawwjz" }, diff --git a/specification/newrelic/NewRelic.Management/examples/Plans_List_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/Plans_List_MinimumSet_Gen.json index 9854b0772731..7881d45caeb8 100644 --- a/specification/newrelic/NewRelic.Management/examples/Plans_List_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/Plans_List_MinimumSet_Gen.json @@ -3,14 +3,18 @@ "title": "Plans_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "organizationId": "hilawwjz" }, "responses": { "200": { "body": { "value": [ { - "id": "ycdsgeiitvxcd" + "id": "qmtrcoxuctyphc", + "properties": { + "orgCreationSource": "NEWRELIC" + } } ] } diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json index 54b8fa7475e4..5aca2dfc466d 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json index 13f97856c33f..a3b33401e6d6 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MaximumSet_Gen.json index e2e293eeda76..d2c5b3338bea 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MinimumSet_Gen.json index 973b43148a9f..ece4c4d2d6f7 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MaximumSet_Gen.json index 899ab8ca56cb..4c3da6213c04 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MinimumSet_Gen.json index 32afa96ac241..7e94172a562e 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Get_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json index acbf4317fbf7..e32af021e1b3 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json index db4b787c7dbd..f4b3973f91c9 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MaximumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MaximumSet_Gen.json index 2b800d0d4001..e309fccc33fb 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MaximumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MinimumSet_Gen.json b/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MinimumSet_Gen.json index 2509e70c6744..4ce64658f2b0 100644 --- a/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MinimumSet_Gen.json +++ b/specification/newrelic/NewRelic.Management/examples/TagRules_Update_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MaximumSet_Gen.json index 8ade08763dbf..4a2433e12609 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MinimumSet_Gen.json index 43f0f8695216..f7e237017bd9 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Accounts_List_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json index 8935c22fad60..e49241329e0a 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "resource": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MaximumSet_Gen.json index 15944e1187ce..cfda7e34e777 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MinimumSet_Gen.json index 36fb8f2f94c8..3ac7b9901730 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MaximumSet_Gen.json index 457c15583e86..1ac93fd575bf 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MinimumSet_Gen.json index 2d73e241ed52..731cde656d52 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricRules_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { @@ -12,7 +12,11 @@ }, "responses": { "200": { - "body": {} + "body": { + "sendMetrics": "Disabled", + "filteringTags": [], + "userEmail": null + } } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json index 18b985411b87..3b4fcdb45653 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_GetMetricStatus_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -17,7 +17,7 @@ "200": { "body": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ] } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json index 75f5018cbb36..8505847b12ba 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json @@ -3,16 +3,21 @@ "title": "Monitors_GetMetricStatus_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { - "body": {} + "body": { + "azureResourceIds": [] + } } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Get_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Get_MaximumSet_Gen.json index 94906d38753c..197e8d04d4a1 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Get_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MaximumSet_Gen.json index f29dde7a6e08..f253c26cc3be 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_ListAppServices_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "pvzrksrmzowobuhxpwiotnpcvjbu" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -18,7 +18,7 @@ "body": { "value": [ { - "azureResourceId": "kjvbkwuqmouugrrz", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "agentVersion": "owxkssnbp", "agentStatus": "vclwfecbppsfaygdccfu" } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MinimumSet_Gen.json index fbb993f1a5d1..606d1792ce04 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListAppServices_MinimumSet_Gen.json @@ -3,19 +3,21 @@ "title": "Monitors_ListAppServices_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json index ccffc4f0a4f0..4c6a891b3a76 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListByResourceGroup_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic" }, "responses": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListBySubscription_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListBySubscription_MaximumSet_Gen.json index 5b8faa549b4a..c03b1c416021 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListBySubscription_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListBySubscription_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListBySubscription_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MaximumSet_Gen.json index ec6fefd0e4f0..820cb2ae9bb5 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MinimumSet_Gen.json index 889c3df7559c..e170c607db4b 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListHosts_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { @@ -16,9 +16,8 @@ "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json index 45a35f187447..636e66cfc49b 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListMonitoredResources_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json index d0efed12483e..f145a401f995 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json @@ -3,16 +3,15 @@ "title": "Monitors_ListMonitoredResources_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MaximumSet_Gen.json index 9d73a790743e..96b311607fe5 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_SwitchBilling_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", - "azureResourceId": "enfghpfw", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "organizationId": "k", "planData": { "usageType": "PAYG", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MinimumSet_Gen.json index faea5e3503f8..06bddcb3149d 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_SwitchBilling_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_SwitchBilling_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Update_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Update_MaximumSet_Gen.json index 58e7492e0746..6e22dc73bca6 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Update_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "properties": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MaximumSet_Gen.json index 09acb2b09e82..7c53ae5e36d7 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MinimumSet_Gen.json index 8bfc4d47aaa5..5df94de4f3cd 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Monitors_VmHostPayload_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MaximumSet_Gen.json index 237bd0a9b373..7d51c73537a1 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Organizations_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MinimumSet_Gen.json index 86f1e3a6e07d..c5f56aebbda9 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Organizations_List_MinimumSet_Gen.json @@ -3,18 +3,14 @@ "title": "Organizations_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, "responses": { "200": { "body": { - "value": [ - { - "id": "ycdsgeiitvxcd" - } - ] + "value": [] } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MaximumSet_Gen.json index a0c7f196b6a9..d98c6f874c9a 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Plans_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "accountId": "pwuxgvrmkk", "organizationId": "hilawwjz" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MinimumSet_Gen.json index 9854b0772731..7881d45caeb8 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/Plans_List_MinimumSet_Gen.json @@ -3,14 +3,18 @@ "title": "Plans_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "nqmcgifgaqlf" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "organizationId": "hilawwjz" }, "responses": { "200": { "body": { "value": [ { - "id": "ycdsgeiitvxcd" + "id": "qmtrcoxuctyphc", + "properties": { + "orgCreationSource": "NEWRELIC" + } } ] } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json index 54b8fa7475e4..5aca2dfc466d 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json index 13f97856c33f..a3b33401e6d6 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MaximumSet_Gen.json index e2e293eeda76..d2c5b3338bea 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MinimumSet_Gen.json index 973b43148a9f..ece4c4d2d6f7 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MaximumSet_Gen.json index 899ab8ca56cb..4c3da6213c04 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MinimumSet_Gen.json index 32afa96ac241..7e94172a562e 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Get_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json index acbf4317fbf7..e32af021e1b3 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json index db4b787c7dbd..f4b3973f91c9 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MaximumSet_Gen.json index 2b800d0d4001..e309fccc33fb 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MinimumSet_Gen.json index 2509e70c6744..4ce64658f2b0 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/preview/2022-07-01-preview/examples/TagRules_Update_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01-preview", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MaximumSet_Gen.json index 5456b731a6a7..930d5545af45 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MinimumSet_Gen.json index 14019914a163..a0ee996a78d6 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Accounts_List_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Accounts_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json index 9a497037a7d9..0ce986574081 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "resource": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MaximumSet_Gen.json index 83f021a06ba7..a250cb881ee5 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MinimumSet_Gen.json index cdd22bad4ad9..369c73e4ab22 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MaximumSet_Gen.json index 6e0686f3c7c9..c7e8b2d2c5f7 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MinimumSet_Gen.json index fbf39255faed..1dbb13343f8c 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricRules_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_GetMetricRules_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { @@ -12,7 +12,11 @@ }, "responses": { "200": { - "body": {} + "body": { + "sendMetrics": "Disabled", + "filteringTags": [], + "userEmail": null + } } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json index 6406a9f9d1fe..0da7d58f8a79 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_GetMetricStatus_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -17,7 +17,7 @@ "200": { "body": { "azureResourceIds": [ - "enfghpfw" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ] } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json index a836b416ef62..316f94708c41 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_GetMetricStatus_MinimumSet_Gen.json @@ -3,16 +3,21 @@ "title": "Monitors_GetMetricStatus_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { - "body": {} + "body": { + "azureResourceIds": [] + } } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Get_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Get_MaximumSet_Gen.json index 21201967003a..e741c7768a29 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Get_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MaximumSet_Gen.json index 0feb2c9638ba..9e6d89285d2d 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_ListAppServices_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "azureResourceIds": [ - "pvzrksrmzowobuhxpwiotnpcvjbu" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } @@ -18,7 +18,7 @@ "body": { "value": [ { - "azureResourceId": "kjvbkwuqmouugrrz", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "agentVersion": "owxkssnbp", "agentStatus": "vclwfecbppsfaygdccfu" } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MinimumSet_Gen.json index 71391193a70d..1e0e3540101d 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListAppServices_MinimumSet_Gen.json @@ -3,19 +3,21 @@ "title": "Monitors_ListAppServices_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { + "azureResourceIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz" + ], "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm" } }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json index 84ea49176268..031e51840a52 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListByResourceGroup_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic" }, "responses": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListBySubscription_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListBySubscription_MaximumSet_Gen.json index dc52afe6a51e..0dec65430f1a 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListBySubscription_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListBySubscription_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListBySubscription_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp" + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MaximumSet_Gen.json index d28a6c9b5cd1..ab73aff90e83 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MinimumSet_Gen.json index ff4308ce1d79..6ec6ad37ceec 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListHosts_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListHosts_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "request": { @@ -16,9 +16,8 @@ "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json index 6d9c1bc6bf67..75cbfad32688 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_ListMonitoredResources_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json index 83936b0949e5..98e9317dccab 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json @@ -3,16 +3,15 @@ "title": "Monitors_ListMonitoredResources_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, "responses": { "200": { "body": { - "value": [ - {} - ] + "value": [], + "nextLink": null } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MaximumSet_Gen.json index 1b85702b56de..668e9fda12c5 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MaximumSet_Gen.json @@ -3,12 +3,12 @@ "title": "Monitors_SwitchBilling_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", - "azureResourceId": "enfghpfw", + "azureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgNewRelic/providers/NewRelic.Observability/monitors/fhcjxnxumkdlgpwanewtkdnyuz", "organizationId": "k", "planData": { "usageType": "PAYG", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MinimumSet_Gen.json index e87aedc2bede..cca1f3fb9154 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_SwitchBilling_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_SwitchBilling_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "fhcjxnxumkdlgpwanewtkdnyuz", "request": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Update_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Update_MaximumSet_Gen.json index 09f603775cdc..dab29bf96156 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Update_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgNewRelic", "monitorName": "cdlymktqw", "properties": { diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MaximumSet_Gen.json index 29639e46598f..6a47ac00b6e5 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MinimumSet_Gen.json index 8e8ec4ab8cef..460ddce1fc59 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Monitors_VmHostPayload_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Monitors_VmHostPayload_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MaximumSet_Gen.json index 82c28f30d8c0..5e581c70ce81 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Organizations_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MinimumSet_Gen.json index 6603b91cf7b8..8bd8565d15dd 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Organizations_List_MinimumSet_Gen.json @@ -3,18 +3,14 @@ "title": "Organizations_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "userEmail": "ruxvg@xqkmdhrnoo.hlmbpm", "location": "egh" }, "responses": { "200": { "body": { - "value": [ - { - "id": "ycdsgeiitvxcd" - } - ] + "value": [] } } } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MaximumSet_Gen.json index 5bfafc5faa63..0ab6824cb175 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "Plans_List_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "hfmjmpyqgezxkp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "accountId": "pwuxgvrmkk", "organizationId": "hilawwjz" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MinimumSet_Gen.json index a50f42bd4cb5..5f92e66583f3 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/Plans_List_MinimumSet_Gen.json @@ -3,14 +3,18 @@ "title": "Plans_List_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "nqmcgifgaqlf" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "organizationId": "hilawwjz" }, "responses": { "200": { "body": { "value": [ { - "id": "ycdsgeiitvxcd" + "id": "qmtrcoxuctyphc", + "properties": { + "orgCreationSource": "NEWRELIC" + } } ] } diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json index 51506555d40b..c11974ef81db 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json index cead6071efb2..8a206bf05f30 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_CreateOrUpdate_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MaximumSet_Gen.json index de3e48956577..5fc7156b79cb 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MinimumSet_Gen.json index efe94413cf48..4c0c96380d43 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Delete_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Delete_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MaximumSet_Gen.json index d9ce13413146..3b7ab92f2d12 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MinimumSet_Gen.json index ecc6c114dcdf..d72730369ef8 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Get_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Get_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb" diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json index 61145e009934..4a5f589bd0f8 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json index f0c5ec5f0abc..55067e0a590d 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_ListByNewRelicMonitorResource_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron" }, diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MaximumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MaximumSet_Gen.json index 3a9d1fdd5fd3..048e5a501271 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MaximumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MaximumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MaximumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MinimumSet_Gen.json b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MinimumSet_Gen.json index 80a01dda2953..decbc5a9aa32 100644 --- a/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MinimumSet_Gen.json +++ b/specification/newrelic/resource-manager/NewRelic.Observability/stable/2022-07-01/examples/TagRules_Update_MinimumSet_Gen.json @@ -3,7 +3,7 @@ "title": "TagRules_Update_MinimumSet_Gen", "parameters": { "api-version": "2022-07-01", - "subscriptionId": "ddqonpqwjr", + "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "rgopenapi", "monitorName": "ipxmlcbonyxtolzejcjshkmlron", "ruleSetName": "bxcantgzggsepbhqmedjqyrqeezmfb", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2022-10-01/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2022-10-01/Tables.json index 5c52daf5a9ce..8bd74343311f 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2022-10-01/Tables.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2022-10-01/Tables.json @@ -705,8 +705,8 @@ "type": "integer", "format": "int32", "minimum": 4, - "maximum": 2555, - "description": "The table total retention in days, between 4 and 2555. Setting this property to -1 will default to table retention." + "maximum": 2556, + "description": "The table total retention in days, between 4 and 2556. Setting this property to -1 will default to table retention." }, "archiveRetentionInDays": { "readOnly": true, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/bms.json index d5561fec56dd..0f937f43d9ff 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-02-01/bms.json @@ -9666,7 +9666,7 @@ } }, "isSoftDeleteFeatureStateEditable": { - "description": "Is soft delete feature state editable", + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault", "type": "boolean" } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json index cd7aed8b12d4..258910690d9a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2023-04-01/bms.json @@ -9674,7 +9674,7 @@ } }, "isSoftDeleteFeatureStateEditable": { - "description": "Is soft delete feature state editable", + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault", "type": "boolean" } } diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_CreateOrUpdate.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_CreateOrUpdate.json new file mode 100644 index 000000000000..29253691bcc9 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool", + "name": "myMachinePool", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool", + "name": "myMachinePool", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Delete.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Delete.json new file mode 100644 index 000000000000..599369f2573a --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Get.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Get.json new file mode 100644 index 000000000000..aed149dbcd97 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool", + "name": "myMachinePool", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_List.json new file mode 100644 index 000000000000..dde22dc8ee84 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool", + "name": "myMachinePool", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Update.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Update.json new file mode 100644 index 000000000000..f8df01ac7fe0 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/MachinePools_Update.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/machinePools/myMachinePool", + "name": "myMachinePool", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/MachinePools", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiTWFjaGluZVBvb2wiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3Rlci13b3JrZXIiLAogICAgICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LVhYWFhYWFhYWFhYWCIKICAgIH0sCiAgICAic3BlYyI6IHsKICAgICAgICAiY2x1c3RlckRlcGxveW1lbnRSZWYiOiB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICB9LAogICAgICAgICJuYW1lIjogIndvcmtlciIsCiAgICAgICAgInBsYXRmb3JtIjogewogICAgICAgICAgICAiYXdzIjogewogICAgICAgICAgICAgICAgInJvb3RWb2x1bWUiOiB7CiAgICAgICAgICAgICAgICAgICAgImlvcHMiOiAwLAogICAgICAgICAgICAgICAgICAgICJzaXplIjogMzAwLAogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdwMyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtNS54bGFyZ2UiLAogICAgICAgICAgICAgICAgInpvbmVzIjogWwogICAgICAgICAgICAgICAgICAgICJ1cy1lYXN0LTFhIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVwbGljYXMiOiAyCiAgICB9LAogICAgInN0YXR1cyI6IHsKICAgICAgICAiY29uZGl0aW9ucyI6IFsKICAgICAgICBdCiAgICB9Cn0K" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_CreateOrUpdate.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_CreateOrUpdate.json new file mode 100644 index 000000000000..7715954f69b3 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_CreateOrUpdate.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "parameters": { + "location": "location", + "tags": { + "key": "value" + }, + "properties": { + "clusterProfile": { + "pullSecret": "{\"auths\":{\"registry.connect.redhat.com\":{\"auth\":\"\"},\"registry.redhat.io\":{\"auth\":\"\"}}}", + "domain": "cluster.location.aroapp.io", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup", + "fipsValidatedModules": "Enabled" + }, + "consoleProfile": {}, + "servicePrincipalProfile": { + "clientId": "clientId", + "clientSecret": "clientSecret" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master", + "encryptionAtHost": "Enabled" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Delete.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Delete.json new file mode 100644 index 000000000000..c299990e0532 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Get.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Get.json new file mode 100644 index 000000000000..7821d8573841 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Get.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_List.json new file mode 100644 index 000000000000..23353c8f5b76 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_List.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListAdminCredentials.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListAdminCredentials.json new file mode 100644 index 000000000000..668eb8440db5 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListAdminCredentials.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "kubeconfig": "e30=" + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListByResourceGroup.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListByResourceGroup.json new file mode 100644 index 000000000000..96e05b50ae4a --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListCredentials.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListCredentials.json new file mode 100644 index 000000000000..ae76c965bec0 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_ListCredentials.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "kubeadminUsername": "kubeadmin", + "kubeadminPassword": "password" + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Update.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Update.json new file mode 100644 index 000000000000..f1c192ee9319 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftClusters_Update.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "parameters": { + "tags": { + "key": "value" + }, + "properties": { + "clusterProfile": { + "pullSecret": "{\"auths\":{\"registry.connect.redhat.com\":{\"auth\":\"\"},\"registry.redhat.io\":{\"auth\":\"\"}}}", + "domain": "cluster.location.aroapp.io", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup", + "fipsValidatedModules": "Enabled" + }, + "consoleProfile": {}, + "servicePrincipalProfile": { + "clientId": "clientId", + "clientSecret": "clientSecret" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master", + "encryptionAtHost": "Enabled" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName", + "name": "resourceName", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters", + "location": "location", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-02-03T01:01:01.1075056Z" + }, + "tags": { + "key": "value" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterProfile": { + "domain": "cluster.location.aroapp.io", + "version": "4.11.0", + "resourceGroupId": "/subscriptions/subscriptionId/resourceGroups/clusterResourceGroup" + }, + "consoleProfile": { + "url": "https://console-openshift-console.apps.cluster.location.aroapp.io/" + }, + "servicePrincipalProfile": { + "clientId": "clientId" + }, + "networkProfile": { + "podCidr": "10.128.0.0/14", + "serviceCidr": "172.30.0.0/16" + }, + "masterProfile": { + "vmSize": "Standard_D8s_v3", + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/master" + }, + "workerProfiles": [ + { + "name": "worker", + "vmSize": "Standard_D2s_v3", + "diskSizeGB": 128, + "subnetId": "/subscriptions/subscriptionId/resourceGroups/vnetResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet/subnets/worker", + "count": 3 + } + ], + "apiserverProfile": { + "visibility": "Public", + "url": "https://api.cluster.location.aroapp.io:6443/", + "ip": "1.2.3.4" + }, + "ingressProfiles": [ + { + "name": "default", + "visibility": "Public", + "ip": "1.2.3.4" + } + ] + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftVersions_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftVersions_List.json new file mode 100644 index 000000000000..72a681383243 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/OpenShiftVersions_List.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "location": "location" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "00000000-0000-0000-0000-000000000000", + "properties": { + "version": "4.10.20" + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Operations_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Operations_List.json new file mode 100644 index 000000000000..66f8889b10e7 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Operations_List.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.RedHatOpenShift/openShiftClusters/read", + "display": { + "provider": "Azure Red Hat OpenShift", + "resource": "openShiftClusters", + "operation": "Read OpenShift cluster" + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_CreateOrUpdate.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_CreateOrUpdate.json new file mode 100644 index 000000000000..2c85a142fd8b --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_CreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret", + "name": "mySecret", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets", + "properties": {} + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret", + "name": "mySecret", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets", + "properties": {} + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Delete.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Delete.json new file mode 100644 index 000000000000..599369f2573a --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Get.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Get.json new file mode 100644 index 000000000000..768077681b59 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret", + "name": "mySecret", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets", + "properties": {} + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_List.json new file mode 100644 index 000000000000..e2075ad72f26 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_List.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret", + "name": "mySecret", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Update.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Update.json new file mode 100644 index 000000000000..7ba0f0f62c38 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/Secrets_Update.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/secret/mySecret", + "name": "mySecret", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/Secrets", + "properties": {} + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_CreateOrUpdate.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_CreateOrUpdate.json new file mode 100644 index 000000000000..90a33f043e1f --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider", + "name": "mySyncIdentityProvider", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider", + "name": "mySyncIdentityProvider", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Delete.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Delete.json new file mode 100644 index 000000000000..599369f2573a --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Get.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Get.json new file mode 100644 index 000000000000..77d3d792a935 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider", + "name": "mySyncIdentityProvider", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_List.json new file mode 100644 index 000000000000..bd788159fe21 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider", + "name": "mySyncIdentityProvider", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Update.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Update.json new file mode 100644 index 000000000000..5446c5fd5472 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncIdentityProviders_Update.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncidentityprovider/mySyncIdentityProvider", + "name": "mySyncIdentityProvider", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncIdentityProviders", + "properties": { + "resources": "ewogICAgImFwaVZlcnNpb24iOiAiaGl2ZS5vcGVuc2hpZnQuaW8vdjEiLAogICAgImtpbmQiOiAiU3luY0lkZW50aXR5UHJvdmlkZXIiLAogICAgIm1ldGFkYXRhIjogewogICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIsCiAgICAgICAgIm5hbWVzcGFjZSI6ICJhcm8tZjYwYWU4YTItYmNhMS00OTg3LTkwNTYtWFhYWFhYWFhYWFhYIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJjbHVzdGVyRGVwbG95bWVudFJlZnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJuYW1lIjogInRlc3QtY2x1c3RlciIKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImlkZW50aXR5UHJvdmlkZXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaHRwYXNzd2QiOiB7CiAgICAgICAgICAgICAgICAgICAgImZpbGVEYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJodHBhc3N3ZC1zZWNyZXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtYXBwaW5nTWV0aG9kIjogImNsYWltIiwKICAgICAgICAgICAgICAgICJuYW1lIjogIkhUUGFzc3dkIiwKICAgICAgICAgICAgICAgICJ0eXBlIjogIkhUUGFzc3dkIgogICAgICAgICAgICB9CiAgICAgICAgXQogICAgfSwKICAgICJzdGF0dXMiOiB7fQp9Cg==" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_CreateOrUpdate.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_CreateOrUpdate.json new file mode 100644 index 000000000000..95832336b99d --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet", + "name": "mySyncSet", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets", + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet", + "name": "mySyncSet", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets", + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Delete.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Delete.json new file mode 100644 index 000000000000..599369f2573a --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Get.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Get.json new file mode 100644 index 000000000000..d35c025e01e8 --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet", + "name": "mySyncSet", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets", + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_List.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_List.json new file mode 100644 index 000000000000..a29c3a16c8da --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet", + "name": "mySyncSet", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets", + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + ] + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Update.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Update.json new file mode 100644 index 000000000000..6756632c414e --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/examples/SyncSets_Update.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-04-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroup", + "resourceName": "resourceName", + "childResourceName": "childResourceName", + "parameters": { + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/resourceName/syncSets/mySyncSet", + "name": "mySyncSet", + "type": "Microsoft.RedHatOpenShift/OpenShiftClusters/SyncSets", + "properties": { + "resources": "eyAKICAiYXBpVmVyc2lvbiI6ICJoaXZlLm9wZW5zaGlmdC5pby92MSIsCiAgImtpbmQiOiAiU3luY1NldCIsCiAgIm1ldGFkYXRhIjogewogICAgIm5hbWUiOiAic2FtcGxlIiwKICAgICJuYW1lc3BhY2UiOiAiYXJvLWY2MGFlOGEyLWJjYTEtNDk4Ny05MDU2LWYyZjZhMTgzN2NhYSIKICB9LAogICJzcGVjIjogewogICAgImNsdXN0ZXJEZXBsb3ltZW50UmVmcyI6IFtdLAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhcGlWZXJzaW9uIjogInYxIiwKICAgICAgICAia2luZCI6ICJDb25maWdNYXAiLAogICAgICAgICJtZXRhZGF0YSI6IHsKICAgICAgICAgICJuYW1lIjogIm15Y29uZmlnbWFwIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQo=" + } + } + } + } +} diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/redhatopenshift.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/redhatopenshift.json new file mode 100644 index 000000000000..45418fe5f2bb --- /dev/null +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2023-04-01/redhatopenshift.json @@ -0,0 +1,2535 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Red Hat OpenShift Client", + "description": "Rest API for Azure Red Hat OpenShift 4", + "version": "2023-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.RedHatOpenShift/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all of the available RP operations.", + "description": "The operation returns the RP operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists all of the available RP operations.": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/locations/{location}/openshiftversions": { + "get": { + "tags": [ + "OpenShiftVersions" + ], + "summary": "Lists all OpenShift versions available to install in the specified location.", + "description": "The operation returns the installable OpenShift versions as strings.", + "operationId": "OpenShiftVersions_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/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists all OpenShift versions available to install in the specified location.": { + "$ref": "./examples/OpenShiftVersions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/openShiftClusters": { + "get": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Lists OpenShift clusters in the specified subscription.", + "description": "The operation returns properties of each OpenShift cluster.", + "operationId": "OpenShiftClusters_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists OpenShift clusters in the specified subscription.": { + "$ref": "./examples/OpenShiftClusters_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/machinePools": { + "get": { + "tags": [ + "MachinePools" + ], + "summary": "Lists MachinePools that belong to that Azure Red Hat OpenShift Cluster.", + "description": "The operation returns properties of each MachinePool.", + "operationId": "MachinePools_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachinePoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists MachinePools that belong to that Azure Red Hat OpenShift Cluster.": { + "$ref": "./examples/MachinePools_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "summary": "Lists Secrets that belong to that Azure Red Hat OpenShift Cluster.", + "description": "The operation returns properties of each Secret.", + "operationId": "Secrets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists Secrets that belong to that Azure Red Hat OpenShift Cluster.": { + "$ref": "./examples/Secrets_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncIdentityProviders": { + "get": { + "tags": [ + "SyncIdentityProviders" + ], + "summary": "Lists SyncIdentityProviders that belong to that Azure Red Hat OpenShift Cluster.", + "description": "The operation returns properties of each SyncIdentityProvider.", + "operationId": "SyncIdentityProviders_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncIdentityProviderList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists SyncIdentityProviders that belong to that Azure Red Hat OpenShift Cluster.": { + "$ref": "./examples/SyncIdentityProviders_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftCluster/{resourceName}/syncSets": { + "get": { + "tags": [ + "SyncSets" + ], + "summary": "Lists SyncSets that belong to that Azure Red Hat OpenShift Cluster.", + "description": "The operation returns properties of each SyncSet.", + "operationId": "SyncSets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists SyncSets that belong to that Azure Red Hat OpenShift Cluster.": { + "$ref": "./examples/SyncSets_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters": { + "get": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Lists OpenShift clusters in the specified subscription and resource group.", + "description": "The operation returns properties of each OpenShift cluster.", + "operationId": "OpenShiftClusters_ListByResourceGroup", + "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": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists OpenShift clusters in the specified subscription and resource group.": { + "$ref": "./examples/OpenShiftClusters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}": { + "get": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Gets a OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a OpenShift cluster.", + "operationId": "OpenShiftClusters_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_Get.json" + } + } + }, + "put": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a OpenShift cluster.", + "operationId": "OpenShiftClusters_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The OpenShift cluster resource.", + "required": true, + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Deletes a OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns nothing.", + "operationId": "OpenShiftClusters_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_Delete.json" + } + } + }, + "patch": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a OpenShift cluster.", + "operationId": "OpenShiftClusters_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The OpenShift cluster resource.", + "required": true, + "schema": { + "$ref": "#/definitions/OpenShiftClusterUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/OpenShiftCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}/listAdminCredentials": { + "post": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Lists admin kubeconfig of an OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns the admin kubeconfig.", + "operationId": "OpenShiftClusters_ListAdminCredentials", + "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": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftClusterAdminKubeconfig" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists admin kubeconfig of an OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_ListAdminCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName}/listCredentials": { + "post": { + "tags": [ + "OpenShiftClusters" + ], + "summary": "Lists credentials of an OpenShift cluster with the specified subscription, resource group and resource name.", + "description": "The operation returns the credentials.", + "operationId": "OpenShiftClusters_ListCredentials", + "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": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OpenShiftClusterCredentials" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Lists credentials of an OpenShift cluster with the specified subscription, resource group and resource name.": { + "$ref": "./examples/OpenShiftClusters_ListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/machinePool/{childResourceName}": { + "get": { + "tags": [ + "MachinePools" + ], + "summary": "Gets a MachinePool with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a MachinePool.", + "operationId": "MachinePools_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the MachinePool resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachinePool" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a MachinePool with the specified subscription, resource group and resource name.": { + "$ref": "./examples/MachinePools_Get.json" + } + } + }, + "put": { + "tags": [ + "MachinePools" + ], + "summary": "Creates or updates a MachinePool with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a MachinePool.", + "operationId": "MachinePools_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the MachinePool resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The MachinePool resource.", + "required": true, + "schema": { + "$ref": "#/definitions/MachinePool" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachinePool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MachinePool" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Creates or updates a MachinePool with the specified subscription, resource group and resource name.": { + "$ref": "./examples/MachinePools_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "MachinePools" + ], + "summary": "Deletes a MachinePool with the specified subscription, resource group and resource name.", + "description": "The operation returns nothing.", + "operationId": "MachinePools_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the MachinePool resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deletes a MachinePool with the specified subscription, resource group and resource name.": { + "$ref": "./examples/MachinePools_Delete.json" + } + } + }, + "patch": { + "tags": [ + "MachinePools" + ], + "summary": "Updates a MachinePool with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a MachinePool.", + "operationId": "MachinePools_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the MachinePool resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The MachinePool resource.", + "required": true, + "schema": { + "$ref": "#/definitions/MachinePoolUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachinePool" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a MachinePool with the specified subscription, resource group and resource name.": { + "$ref": "./examples/MachinePools_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/secret/{childResourceName}": { + "get": { + "tags": [ + "Secrets" + ], + "summary": "Gets a Secret with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a Secret.", + "operationId": "Secrets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the Secret resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a Secret with the specified subscription, resource group and resource name.": { + "$ref": "./examples/Secrets_Get.json" + } + } + }, + "put": { + "tags": [ + "Secrets" + ], + "summary": "Creates or updates a Secret with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a Secret.", + "operationId": "Secrets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the Secret resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The Secret resource.", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Creates or updates a Secret with the specified subscription, resource group and resource name.": { + "$ref": "./examples/Secrets_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "summary": "Deletes a Secret with the specified subscription, resource group and resource name.", + "description": "The operation returns nothing.", + "operationId": "Secrets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the Secret resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deletes a Secret with the specified subscription, resource group and resource name.": { + "$ref": "./examples/Secrets_Delete.json" + } + } + }, + "patch": { + "tags": [ + "Secrets" + ], + "summary": "Updates a Secret with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a Secret.", + "operationId": "Secrets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the Secret resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The Secret resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SecretUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a Secret with the specified subscription, resource group and resource name.": { + "$ref": "./examples/Secrets_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncIdentityProvider/{childResourceName}": { + "get": { + "tags": [ + "SyncIdentityProviders" + ], + "summary": "Gets a SyncIdentityProvider with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncIdentityProvider.", + "operationId": "SyncIdentityProviders_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncIdentityProvider resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncIdentityProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a SyncIdentityProvider with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncIdentityProviders_Get.json" + } + } + }, + "put": { + "tags": [ + "SyncIdentityProviders" + ], + "summary": "Creates or updates a SyncIdentityProvider with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncIdentityProvider.", + "operationId": "SyncIdentityProviders_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncIdentityProvider resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The SyncIdentityProvider resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncIdentityProvider" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncIdentityProvider" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SyncIdentityProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Creates or updates a SyncIdentityProvider with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncIdentityProviders_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncIdentityProviders" + ], + "summary": "Deletes a SyncIdentityProvider with the specified subscription, resource group and resource name.", + "description": "The operation returns nothing.", + "operationId": "SyncIdentityProviders_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncIdentityProvider resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deletes a SyncIdentityProvider with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncIdentityProviders_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SyncIdentityProviders" + ], + "summary": "Updates a SyncIdentityProvider with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncIdentityProvider.", + "operationId": "SyncIdentityProviders_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncIdentityProvider resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The SyncIdentityProvider resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncIdentityProviderUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncIdentityProvider" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a SyncIdentityProvider with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncIdentityProviders_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openshiftclusters/{resourceName}/syncSet/{childResourceName}": { + "get": { + "tags": [ + "SyncSets" + ], + "summary": "Gets a SyncSet with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncSet.", + "operationId": "SyncSets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncSet resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncSet" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a SyncSet with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncSets_Get.json" + } + } + }, + "put": { + "tags": [ + "SyncSets" + ], + "summary": "Creates or updates a SyncSet with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncSet.", + "operationId": "SyncSets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncSet resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The SyncSet resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncSet" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SyncSet" + } + }, + "default": { + "description": "Error response describing why the operation failed. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Creates or updates a SyncSet with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncSets_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SyncSets" + ], + "summary": "Deletes a SyncSet with the specified subscription, resource group and resource name.", + "description": "The operation returns nothing.", + "operationId": "SyncSets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncSet resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deletes a SyncSet with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncSets_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SyncSets" + ], + "summary": "Updates a SyncSet with the specified subscription, resource group and resource name.", + "description": "The operation returns properties of a SyncSet.", + "operationId": "SyncSets_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" + }, + { + "name": "resourceName", + "in": "path", + "description": "The name of the OpenShift cluster resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "childResourceName", + "in": "path", + "description": "The name of the SyncSet resource.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]*[a-zA-Z0-9]$" + }, + { + "name": "parameters", + "in": "body", + "description": "The SyncSet resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SyncSetUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SyncSet" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource doesn't exist, 404 (Not Found) is returned. If any of the input parameters is wrong, 400 (Bad Request) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Updates a SyncSet with the specified subscription, resource group and resource name.": { + "$ref": "./examples/SyncSets_Update.json" + } + } + } + } + }, + "definitions": { + "APIServerProfile": { + "description": "APIServerProfile represents an API server profile.", + "type": "object", + "properties": { + "visibility": { + "$ref": "#/definitions/Visibility", + "description": "API server visibility." + }, + "url": { + "description": "The URL to access the cluster API server.", + "type": "string" + }, + "ip": { + "description": "The IP of the cluster API server.", + "type": "string" + } + } + }, + "CloudError": { + "description": "CloudError represents a cloud error.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from the service." + } + } + }, + "CloudErrorBody": { + "description": "CloudErrorBody represents the body of a cloud error.", + "type": "object", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [] + } + } + }, + "ClusterProfile": { + "description": "ClusterProfile represents a cluster profile.", + "type": "object", + "properties": { + "pullSecret": { + "description": "The pull secret for the cluster.", + "type": "string" + }, + "domain": { + "description": "The domain for the cluster.", + "type": "string" + }, + "version": { + "description": "The version of the cluster.", + "type": "string" + }, + "resourceGroupId": { + "description": "The ID of the cluster resource group.", + "type": "string" + }, + "fipsValidatedModules": { + "$ref": "#/definitions/FipsValidatedModules", + "description": "If FIPS validated crypto modules are used" + } + } + }, + "ConsoleProfile": { + "description": "ConsoleProfile represents a console profile.", + "type": "object", + "properties": { + "url": { + "description": "The URL to access the cluster console.", + "type": "string" + } + } + }, + "Display": { + "description": "Display represents the display details of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Friendly name of the resource provider.", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation.", + "type": "string" + } + } + }, + "EncryptionAtHost": { + "description": "EncryptionAtHost represents encryption at host state", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtHost", + "modelAsString": true + } + }, + "FipsValidatedModules": { + "description": "FipsValidatedModules determines if FIPS is used.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "FipsValidatedModules", + "modelAsString": true + } + }, + "IngressProfile": { + "description": "IngressProfile represents an ingress profile.", + "type": "object", + "properties": { + "name": { + "description": "The ingress profile name.", + "type": "string" + }, + "visibility": { + "$ref": "#/definitions/Visibility", + "description": "Ingress visibility." + }, + "ip": { + "description": "The IP of the ingress.", + "type": "string" + } + } + }, + "MachinePool": { + "description": "MachinePool represents a MachinePool", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MachinePoolProperties", + "description": "The MachinePool Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "MachinePoolList": { + "description": "MachinePoolList represents a list of MachinePools", + "type": "object", + "properties": { + "value": { + "description": "The list of Machine Pools.", + "type": "array", + "items": { + "$ref": "#/definitions/MachinePool" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "MachinePoolProperties": { + "description": "MachinePoolProperties represents the properties of a MachinePool", + "type": "object", + "properties": { + "resources": { + "type": "string" + } + } + }, + "MachinePoolUpdate": { + "description": "MachinePool represents a MachinePool", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/MachinePoolProperties", + "description": "The MachinePool Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "MasterProfile": { + "description": "MasterProfile represents a master profile.", + "type": "object", + "properties": { + "vmSize": { + "$ref": "#/definitions/VMSize", + "description": "The size of the master VMs." + }, + "subnetId": { + "description": "The Azure resource ID of the master subnet.", + "type": "string" + }, + "encryptionAtHost": { + "$ref": "#/definitions/EncryptionAtHost", + "description": "Whether master virtual machines are encrypted at host." + }, + "diskEncryptionSetId": { + "description": "The resource ID of an associated DiskEncryptionSet, if applicable.", + "type": "string" + } + } + }, + "NetworkProfile": { + "description": "NetworkProfile represents a network profile.", + "type": "object", + "properties": { + "podCidr": { + "description": "The CIDR used for OpenShift/Kubernetes Pods.", + "type": "string" + }, + "serviceCidr": { + "description": "The CIDR used for OpenShift/Kubernetes Services.", + "type": "string" + }, + "outboundType": { + "$ref": "#/definitions/OutboundType", + "description": "The OutboundType used for egress traffic." + } + } + }, + "OpenShiftCluster": { + "description": "OpenShiftCluster represents an Azure Red Hat OpenShift cluster.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OpenShiftClusterProperties", + "description": "The cluster properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "OpenShiftClusterAdminKubeconfig": { + "description": "OpenShiftClusterAdminKubeconfig represents an OpenShift cluster's admin kubeconfig.", + "type": "object", + "properties": { + "kubeconfig": { + "description": "The base64-encoded kubeconfig file.", + "type": "string", + "x-ms-secret": true + } + } + }, + "OpenShiftClusterCredentials": { + "description": "OpenShiftClusterCredentials represents an OpenShift cluster's credentials.", + "type": "object", + "properties": { + "kubeadminUsername": { + "description": "The username for the kubeadmin user.", + "type": "string" + }, + "kubeadminPassword": { + "description": "The password for the kubeadmin user.", + "type": "string", + "x-ms-secret": true + } + } + }, + "OpenShiftClusterList": { + "description": "OpenShiftClusterList represents a list of OpenShift clusters.", + "type": "object", + "properties": { + "value": { + "description": "The list of OpenShift clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/OpenShiftCluster" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "OpenShiftClusterProperties": { + "description": "OpenShiftClusterProperties represents an OpenShift cluster's properties.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The cluster provisioning state." + }, + "clusterProfile": { + "$ref": "#/definitions/ClusterProfile", + "description": "The cluster profile." + }, + "consoleProfile": { + "$ref": "#/definitions/ConsoleProfile", + "description": "The console profile." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ServicePrincipalProfile", + "description": "The cluster service principal profile." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "The cluster network profile." + }, + "masterProfile": { + "$ref": "#/definitions/MasterProfile", + "description": "The cluster master profile." + }, + "workerProfiles": { + "description": "The cluster worker profiles.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkerProfile" + }, + "x-ms-identifiers": [] + }, + "apiserverProfile": { + "$ref": "#/definitions/APIServerProfile", + "description": "The cluster API server profile." + }, + "ingressProfiles": { + "description": "The cluster ingress profiles.", + "type": "array", + "items": { + "$ref": "#/definitions/IngressProfile" + }, + "x-ms-identifiers": [] + } + } + }, + "OpenShiftClusterUpdate": { + "description": "OpenShiftCluster represents an Azure Red Hat OpenShift cluster.", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags", + "description": "The resource tags." + }, + "properties": { + "$ref": "#/definitions/OpenShiftClusterProperties", + "description": "The cluster properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "OpenShiftVersion": { + "description": "OpenShiftVersion represents an OpenShift version that can be installed.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OpenShiftVersionProperties", + "description": "The properties for the OpenShiftVersion resource.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "OpenShiftVersionList": { + "description": "OpenShiftVersionList represents a List of available versions.", + "type": "object", + "properties": { + "value": { + "description": "The List of available versions.", + "type": "array", + "items": { + "$ref": "#/definitions/OpenShiftVersion" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Next Link to next operation.", + "type": "string" + } + } + }, + "OpenShiftVersionProperties": { + "description": "OpenShiftVersionProperties represents the properties of an OpenShiftVersion.", + "type": "object", + "properties": { + "version": { + "description": "Version represents the version to create the cluster at.", + "type": "string" + } + } + }, + "Operation": { + "description": "Operation represents an RP operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/Display", + "description": "The object that describes the operation." + }, + "origin": { + "description": "Sources of requests to this operation. Comma separated list with valid values user or system, e.g. \"user,system\".", + "type": "string" + } + } + }, + "OperationList": { + "description": "OperationList represents an RP operation list.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "OutboundType": { + "description": "The outbound routing strategy used to provide your cluster egress to the internet.", + "enum": [ + "Loadbalancer", + "UserDefinedRouting" + ], + "type": "string", + "x-ms-enum": { + "name": "OutboundType", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "ProvisioningState represents a provisioning state.", + "enum": [ + "AdminUpdating", + "Creating", + "Deleting", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string" + }, + "Secret": { + "description": "Secret represents a secret.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "The Secret Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "SecretList": { + "description": "SecretList represents a list of Secrets", + "type": "object", + "properties": { + "value": { + "description": "The list of secrets.", + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "SecretProperties": { + "description": "SecretProperties represents the properties of a Secret", + "type": "object", + "properties": { + "secretResources": { + "description": "The Secrets Resources.", + "type": "string", + "x-ms-secret": true + } + } + }, + "SecretUpdate": { + "description": "Secret represents a secret.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "The Secret Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "ServicePrincipalProfile": { + "description": "ServicePrincipalProfile represents a service principal profile.", + "type": "object", + "properties": { + "clientId": { + "description": "The client ID used for the cluster.", + "type": "string" + }, + "clientSecret": { + "description": "The client secret used for the cluster.", + "type": "string" + } + } + }, + "SyncIdentityProvider": { + "description": "SyncIdentityProvider represents a SyncIdentityProvider", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncIdentityProviderProperties", + "description": "The SyncIdentityProvider Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "SyncIdentityProviderList": { + "description": "SyncSetList represents a list of SyncSets", + "type": "object", + "properties": { + "value": { + "description": "The list of sync identity providers", + "type": "array", + "items": { + "$ref": "#/definitions/SyncIdentityProvider" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "SyncIdentityProviderProperties": { + "description": "SyncSetProperties represents the properties of a SyncSet", + "type": "object", + "properties": { + "resources": { + "type": "string" + } + } + }, + "SyncIdentityProviderUpdate": { + "description": "SyncIdentityProvider represents a SyncIdentityProvider", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SyncIdentityProviderProperties", + "description": "The SyncIdentityProvider Properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "SyncSet": { + "description": "SyncSet represents a SyncSet for an Azure Red Hat OpenShift Cluster.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SyncSetProperties", + "description": "The Syncsets properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "SyncSetList": { + "description": "SyncSetList represents a list of SyncSets", + "type": "object", + "properties": { + "value": { + "description": "The list of syncsets.", + "type": "array", + "items": { + "$ref": "#/definitions/SyncSet" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "SyncSetProperties": { + "description": "SyncSetProperties represents the properties of a SyncSet", + "type": "object", + "properties": { + "resources": { + "description": "Resources represents the SyncSets configuration.", + "type": "string" + } + } + }, + "SyncSetUpdate": { + "description": "SyncSet represents a SyncSet for an Azure Red Hat OpenShift Cluster.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SyncSetProperties", + "description": "The Syncsets properties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "The system meta data relating to this resource.", + "readOnly": true + } + } + }, + "Tags": { + "description": "Tags represents an OpenShift cluster's tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "VMSize": { + "description": "VM size availability varies by region.\nIf a node contains insufficient compute resources (memory, cpu, etc.), pods might fail to run correctly.\nFor more details on restricted VM sizes, see: https://docs.microsoft.com/en-us/azure/openshift/support-policies-v4#supported-virtual-machine-sizes", + "type": "string" + }, + "Visibility": { + "description": "Visibility represents visibility.", + "enum": [ + "Private", + "Public" + ], + "type": "string", + "x-ms-enum": { + "name": "Visibility", + "modelAsString": true + } + }, + "WorkerProfile": { + "description": "WorkerProfile represents a worker profile.", + "type": "object", + "properties": { + "name": { + "description": "The worker profile name.", + "type": "string" + }, + "vmSize": { + "$ref": "#/definitions/VMSize", + "description": "The size of the worker VMs." + }, + "diskSizeGB": { + "description": "The disk size of the worker VMs.", + "type": "integer" + }, + "subnetId": { + "description": "The Azure resource ID of the worker subnet.", + "type": "string" + }, + "count": { + "description": "The number of worker VMs.", + "type": "integer" + }, + "encryptionAtHost": { + "$ref": "#/definitions/EncryptionAtHost", + "description": "Whether master virtual machines are encrypted at host." + }, + "diskEncryptionSetId": { + "description": "The resource ID of an associated DiskEncryptionSet, if applicable.", + "type": "string" + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API the caller wants to use.", + "required": true, + "type": "string", + "pattern": "^\\d{2}-\\d{2}-\\d{4}(-preview)?$", + "x-ms-parameter-location": "client" + } + }, + "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/redhatopenshift/resource-manager/readme.go.md b/specification/redhatopenshift/resource-manager/readme.go.md index 67e79e955a15..18b6f38c244e 100644 --- a/specification/redhatopenshift/resource-manager/readme.go.md +++ b/specification/redhatopenshift/resource-manager/readme.go.md @@ -25,6 +25,7 @@ batch: - tag: package-2021-09-01-preview - tag: package-2022-04-01 - tag: package-2022-09-04 + - tag: package-2023-04-01 ``` ### Tag: package-2020-04-30 and go @@ -62,3 +63,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2023-04-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2023-04-01/$(namespace) +``` diff --git a/specification/redhatopenshift/resource-manager/readme.md b/specification/redhatopenshift/resource-manager/readme.md index e88be4d4a4cb..9ddba3d53ef0 100644 --- a/specification/redhatopenshift/resource-manager/readme.md +++ b/specification/redhatopenshift/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the Azure Red Hat OpenShift API. ``` yaml openapi-type: arm -tag: package-2022-09-04 +tag: package-2023-04-01 ``` ### Tag: package-2020-04-30 @@ -65,6 +65,14 @@ input-file: - Microsoft.RedHatOpenShift/stable/2022-09-04/redhatopenshift.json ``` +### Tag: package-2023-04-01 + +These settings apply only when `--tag=package-2023-04-01` is specified on the command line. + +``` yaml $(tag) == 'package-2023-04-01' +input-file: + - Microsoft.RedHatOpenShift/stable/2023-04-01/redhatopenshift.json +``` --- # Code Generation diff --git a/specification/redhatopenshift/resource-manager/readme.python.md b/specification/redhatopenshift/resource-manager/readme.python.md index 14cded8825eb..fd56bacb5923 100644 --- a/specification/redhatopenshift/resource-manager/readme.python.md +++ b/specification/redhatopenshift/resource-manager/readme.python.md @@ -15,14 +15,13 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) -multiapi: true -default-api-version: "2022-09-04" +```yaml $(python) && $(multiapi) batch: - tag: package-2020-04-30 - tag: package-2021-09-01-preview - tag: package-2022-04-01 - tag: package-2022-09-04 + - tag: package-2023-04-01 - multiapiscript: true ``` @@ -72,3 +71,14 @@ Please also specify `--python-sdks-folder=`. + + +``` yaml $(tag) == 'package-2023-04-01' && $(python) +namespace: azure.mgmt.redhatopenshift.v2022_09_04 +output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/azure/mgmt/redhatopenshift/v2023_04_01 +``` diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2023-07-01-preview/changes.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2023-07-01-preview/changes.json index a2b0cf9b4943..7c83d3a7f265 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/preview/2023-07-01-preview/changes.json +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2023-07-01-preview/changes.json @@ -296,6 +296,11 @@ "value": "ManagedIdentity", "description": "A ManagedIdentity made the change(s)", "name": "ManagedIdentity" + }, + { + "value": "Unknown", + "description": "An Unknown entity made the change(s)", + "name": "Unknown" } ] } @@ -303,33 +308,7 @@ "clientType": { "description": "Client used to make the changes", "type": "string", - "readOnly": true, - "enum": [ - "CLI", - "Portal", - "SDK" - ], - "x-ms-enum": { - "name": "clientType", - "modelAsString": true, - "values": [ - { - "value": "CLI", - "description": "The change(s) were made through the Command Line Interface", - "name": "CLI" - }, - { - "value": "Portal", - "description": "The change(s) were made through the Portal", - "name": "Portal" - }, - { - "value": "SDK", - "description": "The change(s) were made through a Software Development Kit", - "name": "SDK" - } - ] - } + "readOnly": true }, "operation": { "description": "The Azure Resource Provider operation that was invoked to make the change(s). See [here](https://learn.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations) for a full list of possible values", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AlertRules.json new file mode 100644 index 000000000000..82639cabf7e9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AlertRules.json @@ -0,0 +1,2543 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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", + "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 an Nrt alert rule.": { + "$ref": "./examples/alertRules/GetNrtAlertRule.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", + "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 Nrt alert rule.": { + "$ref": "./examples/alertRules/CreateNrtAlertRule.json" + }, + "Creates or updates a Fusion alert rule.": { + "$ref": "./examples/alertRules/CreateFusionAlertRule.json" + }, + "Creates or updates a Fusion alert rule with scenario exclusion pattern.": { + "$ref": "./examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.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", + "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" + }, + "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", + "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", + "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", + "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" + }, + "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", + "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", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "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" + } + }, + "definitions": { + "AlertRule": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Alert rule.", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "AlertRuleKindEnum": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion", + "MLBehaviorAnalytics", + "ThreatIntelligence", + "NRT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + }, + { + "value": "MLBehaviorAnalytics" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "NRT" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "required": [ + "kind" + ] + }, + "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" + } + }, + "type": "object" + }, + "AlertRuleTemplatePropertiesBase": { + "description": "Base alert rule template property bag.", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "type": "integer", + "format": "int32" + }, + "lastUpdatedDateUTC": { + "description": "The last time that this alert rule template has been updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "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 sources for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "x-ms-identifiers": [ + "connectorId" + ], + "type": "array" + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status." + } + }, + "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" + } + ] + } + }, + "AlertRuleTemplateWithMitreProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "Alert rule template with MITRE property bag.", + "properties": { + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "QueryBasedAlertRuleTemplateProperties": { + "description": "Query based alert rule template base property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "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" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "sentinelEntitiesMappings": { + "$ref": "#/definitions/SentinelEntitiesMappings", + "description": "Array of the sentinel entity mappings of the alert rule" + } + }, + "type": "object" + }, + "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" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "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" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "MLBehaviorAnalyticsAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MLBehaviorAnalyticsAlertRuleProperties", + "description": "MLBehaviorAnalytics alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "MLBehaviorAnalyticsAlertRuleProperties": { + "description": "MLBehaviorAnalytics 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 rule 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" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "MLBehaviorAnalyticsAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "MLBehaviorAnalytics alert rule template properties.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "type": "object", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "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" + }, + "sourceSettings": { + "description": "Configuration for all supported source signals in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSettings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "scenarioExclusionPatterns": { + "description": "Configuration to exclude scenarios in fusion detection.", + "items": { + "$ref": "#/definitions/FusionScenarioExclusionPattern" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "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" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionSourceSettings": { + "description": "Represents a supported source signal configuration in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceName": { + "description": "Name of the Fusion source signal. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypes": { + "description": "Configuration for all source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSubTypeSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "enabled", + "sourceName" + ], + "type": "object" + }, + "FusionSourceSubTypeSetting": { + "description": "Represents a supported source subtype configuration under a source signal in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source subtype under source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceSubTypeName": { + "description": "The Name of the source subtype under a given source signal in Fusion detection. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilters": { + "description": "Severity configuration for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "enabled", + "sourceSubTypeName", + "severityFilters" + ], + "type": "object" + }, + "FusionSubTypeSeverityFilter": { + "description": "Represents severity configuration for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether this source subtype supports severity configuration or not.", + "type": "boolean", + "readOnly": true + }, + "filters": { + "description": "Individual Severity configuration settings for a given source subtype consumed in Fusion detection.", + "items": { + "$ref": "#/definitions/FusionSubTypeSeverityFiltersItem" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "FusionSubTypeSeverityFiltersItem": { + "description": "Represents a Severity filter setting for a given source subtype consumed in Fusion detection.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The Severity for a given source subtype consumed in Fusion detection." + }, + "enabled": { + "description": "Determines whether this severity is enabled or disabled for this source subtype consumed in Fusion detection.", + "type": "boolean" + } + }, + "required": [ + "severity", + "enabled" + ], + "type": "object" + }, + "FusionScenarioExclusionPattern": { + "description": "Represents a Fusion scenario exclusion patterns in Fusion detection.", + "properties": { + "exclusionPattern": { + "description": "Scenario exclusion pattern.", + "type": "string" + }, + "dateAddedInUTC": { + "description": "DateTime when scenario exclusion pattern is added in UTC.", + "type": "string" + } + }, + "required": [ + "exclusionPattern", + "dateAddedInUTC" + ], + "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": "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", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceSettings": { + "description": "All supported source signal configurations consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "FusionTemplateSourceSetting": { + "description": "Represents a source signal consumed in Fusion detection.", + "properties": { + "sourceName": { + "description": "The name of a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypes": { + "description": "All supported source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSubType" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "sourceName" + ], + "type": "object" + }, + "FusionTemplateSourceSubType": { + "description": "Represents a source subtype under a source signal consumed in Fusion detection.", + "properties": { + "sourceSubTypeName": { + "description": "The name of source subtype under a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilter": { + "description": "Severity configuration available for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionTemplateSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "sourceSubTypeName", + "severityFilter" + ], + "type": "object" + }, + "FusionTemplateSubTypeSeverityFilter": { + "description": "Represents severity configurations available for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether severity configuration is supported for this source subtype consumed in Fusion detection.", + "type": "boolean" + }, + "severityFilters": { + "description": "List of all supported severities for this source subtype consumed in Fusion detection.", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "isSupported" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Threat Intelligence alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceAlertRuleProperties", + "description": "Threat Intelligence alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "ThreatIntelligenceAlertRuleProperties": { + "description": "Threat Intelligence 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" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Threat Intelligence alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "Threat Intelligence alert rule template properties", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "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" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + } + }, + "required": [ + "productFilter" + ], + "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", + "Office 365 Advanced Threat Protection", + "Microsoft Defender Advanced Threat Protection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "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": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "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" + }, + "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", + "x-ms-client-flatten": true + }, + "NrtAlertRuleProperties": { + "description": "Nrt 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" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + }, + "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" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "sentinelEntitiesMappings": { + "$ref": "#/definitions/SentinelEntitiesMappings", + "description": "Array of the sentinel entity mappings of the alert rule" + } + }, + "required": [ + "displayName", + "enabled", + "severity", + "query", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object", + "x-ms-client-flatten": true + }, + "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", + "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" + }, + "sentinelEntitiesMappings": { + "$ref": "#/definitions/SentinelEntitiesMappings", + "description": "Array of the sentinel entity mappings of the alert rule" + } + }, + "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" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "NrtAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents NRT alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + }, + { + "$ref": "#/definitions/QueryBasedAlertRuleTemplateProperties" + } + ], + "description": "NRT alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "version" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "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" + } + }, + "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" + }, + "NrtAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents NRT alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/NrtAlertRuleProperties", + "description": "NRT alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "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.", + "type": "integer", + "format": "int32" + }, + "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" + }, + "sentinelEntitiesMappings": { + "$ref": "#/definitions/SentinelEntitiesMappings", + "description": "Array of the sentinel entity mappings of the alert rule" + } + }, + "type": "object" + }, + "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" + }, + "SentinelEntitiesMappings": { + "description": "List of sentinel entity mappings of the alert rule", + "type": "array", + "items": { + "$ref": "#/definitions/SentinelEntityMapping" + }, + "x-ms-identifiers": [] + }, + "SentinelEntityMapping": { + "description": "A single sentinel entity mapping", + "properties": { + "columnName": { + "description": "the column name to be mapped to the SentinelEntities", + "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" + }, + "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" + }, + "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" + } + }, + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "matchingMethod" + ] + }, + "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" + }, + "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" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "triggerUri" + ], + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "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" + }, + "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" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "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" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AutomationRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AutomationRules.json new file mode 100644 index 000000000000..3260102ac370 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/AutomationRules.json @@ -0,0 +1,1495 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-preview" + }, + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityIdentifier}/runPlaybook": { + "post": { + "tags": [ + "manualTrigger" + ], + "description": "Triggers playbook on a specific entity.", + "operationId": "Entities_RunPlaybook", + "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" + }, + { + "in": "path", + "name": "entityIdentifier", + "description": "Entity identifier.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "requestBody", + "description": "Describes the request body for triggering a playbook on an entity.", + "schema": { + "$ref": "#/definitions/EntityManualTriggerRequestBody" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Entities_RunPlaybook": { + "$ref": "./examples/manualTrigger/Entities_RunPlaybook.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook": { + "post": { + "tags": [ + "manualTrigger" + ], + "description": "Triggers playbook on a specific incident", + "operationId": "Incidents_RunPlaybook", + "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" + }, + { + "in": "path", + "name": "incidentIdentifier", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "requestBody", + "schema": { + "$ref": "#/definitions/ManualTriggerRequestBody" + } + } + ], + "responses": { + "204": { + "description": "Success", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Incidents_RunPlaybook": { + "$ref": "./examples/manualTrigger/Incidents_RunPlaybook.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "The type of the automation rule action.", + "enum": [ + "ModifyProperties", + "RunPlaybook", + "AddIncidentTask" + ], + "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" + }, + { + "value": "AddIncidentTask", + "description": "Add a task to an incident object" + } + ] + } + }, + "AddIncidentTaskActionProperties": { + "required": [ + "title" + ], + "type": "object", + "properties": { + "title": { + "description": "The title of the task.", + "type": "string" + }, + "description": { + "description": "The description of the task.", + "type": "string" + } + } + }, + "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" + }, + "AutomationRuleAddIncidentTaskAction": { + "description": "Describes an automation rule action to add a task to an incident", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/AddIncidentTaskActionProperties" + } + }, + "x-ms-discriminator-value": "AddIncidentTask", + "x-ms-client-flatten": true + }, + "AutomationRuleBooleanCondition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/AutomationRuleBooleanConditionSupportedOperator" + }, + "innerConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + }, + "x-ms-identifiers": [], + "minItems": 2, + "maxItems": 10 + } + } + }, + "AutomationRuleBooleanConditionSupportedOperator": { + "enum": [ + "And", + "Or" + ], + "type": "string", + "example": "And", + "x-ms-enum": { + "name": "AutomationRuleBooleanConditionSupportedOperator", + "modelAsString": true, + "values": [ + { + "value": "And", + "description": "Evaluates as true if all the item conditions are evaluated as true" + }, + { + "value": "Or", + "description": "Evaluates as true if at least one of the item conditions are evaluated as true" + } + ] + } + }, + "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-discriminator-value": "ModifyProperties", + "x-ms-client-flatten": true + }, + "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" + } + } + }, + "AutomationRulePropertyArrayConditionSupportedArrayConditionType": { + "enum": [ + "AnyItem" + ], + "type": "string", + "example": "AnyItem", + "x-ms-enum": { + "name": "AutomationRulePropertyArrayConditionSupportedArrayConditionType", + "modelAsString": true, + "values": [ + { + "value": "AnyItem", + "description": "Evaluate the condition as true if any item fulfills it" + } + ] + } + }, + "AutomationRulePropertyArrayConditionSupportedArrayType": { + "enum": [ + "CustomDetails", + "CustomDetailValues" + ], + "type": "string", + "example": "CustomDetails", + "x-ms-enum": { + "name": "AutomationRulePropertyArrayConditionSupportedArrayType", + "modelAsString": true, + "values": [ + { + "value": "CustomDetails", + "description": "Evaluate the condition on the custom detail keys" + }, + { + "value": "CustomDetailValues", + "description": "Evaluate the condition on a custom detail's values" + } + ] + } + }, + "AutomationRulePropertyArrayValuesCondition": { + "type": "object", + "properties": { + "arrayType": { + "$ref": "#/definitions/AutomationRulePropertyArrayConditionSupportedArrayType" + }, + "arrayConditionType": { + "$ref": "#/definitions/AutomationRulePropertyArrayConditionSupportedArrayConditionType" + }, + "itemConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + }, + "x-ms-identifiers": [], + "maxItems": 10 + } + } + }, + "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", + "IncidentCustomDetailsKey", + "IncidentCustomDetailsValue", + "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": "IncidentCustomDetailsKey", + "description": "The incident custom detail key" + }, + { + "value": "IncidentCustomDetailsValue", + "description": "The incident custom detail value" + }, + { + "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-discriminator-value": "RunPlaybook", + "x-ms-client-flatten": true + }, + "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" + ] + } + } + }, + "BooleanConditionProperties": { + "description": "Describes an automation rule condition that applies a boolean operator (e.g AND, OR) to conditions", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRuleBooleanCondition" + } + }, + "x-ms-discriminator-value": "Boolean", + "x-ms-client-flatten": true + }, + "ConditionType": { + "enum": [ + "Property", + "PropertyArray", + "PropertyChanged", + "PropertyArrayChanged", + "Boolean" + ], + "type": "string", + "example": "Property", + "x-ms-enum": { + "name": "ConditionType", + "modelAsString": true, + "values": [ + { + "value": "Property", + "description": "Evaluate an object property value" + }, + { + "value": "PropertyArray", + "description": "Evaluate an object array property value" + }, + { + "value": "PropertyChanged", + "description": "Evaluate an object property changed value" + }, + { + "value": "PropertyArrayChanged", + "description": "Evaluate an object array property changed value" + }, + { + "value": "Boolean", + "description": "Apply a boolean operator (e.g AND, OR) to conditions" + } + ] + } + }, + "EntityManualTriggerRequestBody": { + "type": "object", + "description": "Describes the request body for triggering a playbook on an entity.", + "required": [ + "logicAppsResourceId" + ], + "properties": { + "incidentArmId": { + "type": "string", + "description": "Incident ARM id." + }, + "tenantId": { + "format": "uuid", + "type": "string", + "description": "The tenant id of the playbook resource." + }, + "logicAppsResourceId": { + "type": "string", + "description": "The resource id of the playbook resource." + } + } + }, + "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" + } + } + } + }, + "ManualTriggerRequestBody": { + "type": "object", + "required": [ + "logicAppsResourceId" + ], + "properties": { + "tenantId": { + "format": "uuid", + "type": "string" + }, + "logicAppsResourceId": { + "type": "string" + } + } + }, + "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 + }, + "PropertyArrayConditionProperties": { + "description": "Describes an automation rule condition that evaluates an array property's value", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyArrayValuesCondition" + } + }, + "x-ms-discriminator-value": "PropertyArray", + "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-discriminator-value": "Property", + "x-ms-client-flatten": true + }, + "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/preview/2023-07-01-preview/BillingStatistics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/BillingStatistics.json new file mode 100644 index 000000000000..8d023f5a1ef0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/BillingStatistics.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-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/billingStatistics": { + "get": { + "x-ms-examples": { + "Get all Microsoft Sentinel billing statistics.": { + "$ref": "./examples/billingStatistics/GetAllBillingStatistics.json" + } + }, + "tags": [ + "billingStatistics" + ], + "description": "Gets all Microsoft Sentinel billing statistics.", + "operationId": "BillingStatistics_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/BillingStatisticList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/billingStatistics/{billingStatisticName}": { + "get": { + "x-ms-examples": { + "Get a billing statistic.": { + "$ref": "./examples/billingStatistics/GetBillingStatistic.json" + } + }, + "tags": [ + "billingStatistics" + ], + "description": "Gets a billing statistic", + "operationId": "BillingStatistics_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/BillingStatisticName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BillingStatistic" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "BillingStatisticList": { + "description": "List of all Microsoft Sentinel billing statistics.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of billing statistics.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of billing statistics.", + "items": { + "$ref": "#/definitions/BillingStatistic" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "BillingStatistic": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Billing statistic", + "properties": { + "kind": { + "$ref": "#/definitions/BillingStatisticKindEnum", + "description": "The kind of the billing statistic" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "BillingStatisticKindEnum": { + "description": "The kind of the billing statistic", + "enum": [ + "SapSolutionUsage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "BillingStatisticKind", + "values": [ + { + "value": "SapSolutionUsage" + } + ] + } + }, + "SapSolutionUsageStatistic": { + "allOf": [ + { + "$ref": "#/definitions/BillingStatistic" + } + ], + "description": "Billing statistic about the Microsoft Sentinel solution for SAP Usage", + "properties": { + "properties": { + "$ref": "#/definitions/SapSolutionUsageStatisticProperties", + "description": "The SAP solution usage object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SapSolutionUsage" + }, + "SapSolutionUsageStatisticProperties": { + "description": "Properties of the billing statistic about the Microsoft Sentinel solution for SAP usage", + "properties": { + "activeSystemIdCount": { + "description": "The latest count of active SAP system IDs under the Microsoft Sentinel solution for SAP Usage", + "type": "integer", + "format": "int64", + "readOnly": true + } + }, + "type": "object" + } + }, + "parameters": { + "BillingStatisticName": { + "description": "The name of the billing statistic", + "in": "path", + "name": "billingStatisticName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Bookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Bookmarks.json new file mode 100644 index 000000000000..bbc43a95295a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Bookmarks.json @@ -0,0 +1,751 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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", + "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", + "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", + "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" + }, + "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/bookmarks/{bookmarkId}/relations": { + "get": { + "x-ms-examples": { + "Get all bookmark relations.": { + "$ref": "./examples/bookmarks/relations/GetAllBookmarkRelations.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets all bookmark relations.", + "operationId": "BookmarkRelations_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/BookmarkId" + }, + { + "$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": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand": { + "post": { + "x-ms-examples": { + "Expand an bookmark": { + "$ref": "./examples/bookmarks/expand/PostExpandBookmark.json" + } + }, + "description": "Expand an bookmark", + "operationId": "Bookmark_Expand", + "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/BookmarkExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BookmarkExpandResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "tags": [ + "Bookmark" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/GetBookmarkRelationByName.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets a bookmark relation.", + "operationId": "BookmarkRelations_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" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/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 a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/CreateBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Creates the bookmark relation.", + "operationId": "BookmarkRelations_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": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/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 bookmark relation.": { + "$ref": "./examples/bookmarks/relations/DeleteBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Delete the bookmark relation.", + "operationId": "BookmarkRelations_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" + }, + { + "$ref": "./common/RelationTypes.json#/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" + } + } + } + } + } + }, + "parameters": { + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/BookmarkExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "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" + }, + "BookmarkExpandParameters": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "BookmarkExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + }, + "edges": { + "description": "Array of expansion result connected entities", + "items": { + "$ref": "#/definitions/ConnectedEntity" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "BookmarkList": { + "description": "List all the bookmarks.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of bookmarks.", + "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" + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappingsList", + "description": "Describes the entity mappings of the bookmark", + "type": "object" + }, + "tactics": { + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "description": "A list of relevant mitre attacks", + "type": "array" + }, + "techniques": { + "items": { + "$ref": "#/definitions/AttackTechnique" + }, + "description": "A list of relevant mitre techniques", + "type": "array" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "ConnectedEntity": { + "description": "Expansion result connected entities", + "properties": { + "targetEntityId": { + "description": "Entity Id of the connected entity", + "type": "string" + }, + "additionalData": { + "description": "key-value pairs for a connected entity mapping", + "type": "object" + } + }, + "type": "object" + }, + "EntityMappingsList": { + "description": "Describes the entity mappings of the bookmark", + "items": { + "$ref": "#/definitions/BookmarkEntityMappings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "BookmarkEntityMappings": { + "description": "Describes the entity mappings of a single entity", + "properties": { + "entityType": { + "description": "The entity type", + "type": "string" + }, + "fieldMappings": { + "description": "Array of fields mapping for that entity type", + "items": { + "$ref": "#/definitions/EntityFieldMapping" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "EntityFieldMapping": { + "description": "Map identifiers of a single entity", + "properties": { + "identifier": { + "description": "Alert V3 identifier", + "type": "string" + }, + "value": { + "description": "The value of the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AttackTechnique": { + "description": "Mitre technique (https://attack.mitre.org/matrices/enterprise/)", + "type": "string" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentPackages.json new file mode 100644 index 000000000000..f11119b2a93a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentPackages.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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/ODataTop" + }, + { + "$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/preview/2023-07-01-preview/ContentProductPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductPackages.json new file mode 100644 index 000000000000..ec9ae6cd9a4f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductPackages.json @@ -0,0 +1,231 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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.", + "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." + }, + "resourceId": { + "$ref": "./common/ContentCommonTypes.json#/definitions/metadataContentId", + "description": "The metadata resource id." + }, + "packagedContent": { + "$ref": "#/definitions/packagedContent", + "description": "the json to deploy" + } + }, + "type": "object" + }, + "packagedContent": { + "type": "object", + "description": "the json 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/preview/2023-07-01-preview/ContentProductTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductTemplates.json new file mode 100644 index 000000000000..d68a89f4f000 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductTemplates.json @@ -0,0 +1,217 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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/ODataTop" + }, + { + "$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 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/preview/2023-07-01-preview/ContentTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentTemplates.json new file mode 100644 index 000000000000..6d3850cfa9e2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentTemplates.json @@ -0,0 +1,330 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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.", + "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/ODataTop" + }, + { + "$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.", + "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" + } + } + }, + "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/preview/2023-07-01-preview/Enrichment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Enrichment.json new file mode 100644 index 000000000000..f64e849bec27 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Enrichment.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.SecurityInsights/enrichment/ip/geodata/": { + "get": { + "x-ms-examples": { + "Get geodata for a single IP address": { + "$ref": "./examples/enrichment/GetGeodataByIp.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get geodata for a single IP address", + "operationId": "IPGeodata_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": "#/parameters/EnrichmentIpAddress" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentIpGeodata" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this ip.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/": { + "get": { + "x-ms-examples": { + "Get whois information for a single domain name": { + "$ref": "./examples/enrichment/GetWhoisByDomainName.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get whois information for a single domain name", + "operationId": "DomainWhois_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": "#/parameters/EnrichmentDomain" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentDomainWhois" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this domain.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EnrichmentIpAddress": { + "description": "IP address (v4 or v6) to be enriched", + "in": "query", + "name": "ipAddress", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EnrichmentDomain": { + "description": "Domain name to be enriched", + "in": "query", + "name": "domain", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "EnrichmentDomainWhois": { + "description": "Whois information for a given domain and associated metadata", + "properties": { + "domain": { + "description": "The domain for this whois record", + "type": "string" + }, + "server": { + "description": "The hostname of this registrar's whois server", + "type": "string" + }, + "created": { + "description": "The timestamp at which this record was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The timestamp at which this record was last updated", + "format": "date-time", + "type": "string" + }, + "expires": { + "description": "The timestamp at which this record will expire", + "format": "date-time", + "type": "string" + }, + "parsedWhois": { + "description": "The whois record for a given domain", + "$ref": "#/definitions/EnrichmentDomainWhoisDetails" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisDetails": { + "description": "The whois record for a given domain", + "properties": { + "registrar": { + "description": "The registrar associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisRegistrarDetails" + }, + "contacts": { + "description": "The set of contacts associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisContacts" + }, + "nameServers": { + "description": "A list of name servers associated with this domain", + "type": "array", + "items": { + "type": "string" + } + }, + "statuses": { + "description": "The set of status flags for this whois record", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisRegistrarDetails": { + "description": "The registrar associated with this domain", + "properties": { + "name": { + "description": "The name of this registrar", + "type": "string" + }, + "abuseContactEmail": { + "description": "This registrar's abuse contact email", + "type": "string" + }, + "abuseContactPhone": { + "description": "This registrar's abuse contact phone number", + "type": "string" + }, + "ianaId": { + "description": "This registrar's Internet Assigned Numbers Authority id", + "type": "string" + }, + "url": { + "description": "This registrar's URL", + "type": "string" + }, + "whoisServer": { + "description": "The hostname of this registrar's whois server", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContacts": { + "description": "The set of contacts associated with this domain", + "properties": { + "admin": { + "description": "The admin contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "billing": { + "description": "The billing contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "registrant": { + "description": "The registrant contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "tech": { + "description": "The technical contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContact": { + "description": "An individual contact associated with this domain", + "properties": { + "name": { + "description": "The name of this contact", + "type": "string" + }, + "org": { + "description": "The organization for this contact", + "type": "string" + }, + "street": { + "description": "A list describing the street address for this contact", + "type": "array", + "items": { + "type": "string" + } + }, + "city": { + "description": "The city for this contact", + "type": "string" + }, + "state": { + "description": "The state for this contact", + "type": "string" + }, + "postal": { + "description": "The postal code for this contact", + "type": "string" + }, + "country": { + "description": "The country for this contact", + "type": "string" + }, + "phone": { + "description": "The phone number for this contact", + "type": "string" + }, + "fax": { + "description": "The fax number for this contact", + "type": "string" + }, + "email": { + "description": "The email address for this contact", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentIpGeodata": { + "description": "Geodata information for a given IP address", + "properties": { + "asn": { + "description": "The autonomous system number associated with this IP address", + "type": "string" + }, + "carrier": { + "description": "The name of the carrier for this IP address", + "type": "string" + }, + "city": { + "description": "The city this IP address is located in", + "type": "string" + }, + "cityCf": { + "description": "A numeric rating of confidence that the value in the 'city' field is correct, on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "continent": { + "description": "The continent this IP address is located on", + "type": "string" + }, + "country": { + "description": "The county this IP address is located in", + "type": "string" + }, + "countryCf": { + "description": "A numeric rating of confidence that the value in the 'country' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "ipAddr": { + "description": "The dotted-decimal or colon-separated string representation of the IP address", + "type": "string" + }, + "ipRoutingType": { + "description": "A description of the connection type of this IP address", + "type": "string" + }, + "latitude": { + "description": "The latitude of this IP address", + "type": "string" + }, + "longitude": { + "description": "The longitude of this IP address", + "type": "string" + }, + "organization": { + "description": "The name of the organization for this IP address", + "type": "string" + }, + "organizationType": { + "description": "The type of the organization for this IP address", + "type": "string" + }, + "region": { + "description": "The geographic region this IP address is located in", + "type": "string" + }, + "state": { + "description": "The state this IP address is located in", + "type": "string" + }, + "stateCf": { + "description": "A numeric rating of confidence that the value in the 'state' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "stateCode": { + "description": "The abbreviated name for the state this IP address is located in", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Entities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Entities.json new file mode 100644 index 000000000000..62df62ce7178 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Entities.json @@ -0,0 +1,1556 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities": { + "get": { + "x-ms-examples": { + "Get all entities.": { + "$ref": "./examples/entities/GetEntities.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets all entities.", + "operationId": "Entities_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/EntityList" + } + }, + "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/entities/{entityId}": { + "get": { + "x-ms-examples": { + "Get an account entity.": { + "$ref": "./examples/entities/GetAccountEntityById.json" + }, + "Get a host entity.": { + "$ref": "./examples/entities/GetHostEntityById.json" + }, + "Get a file entity.": { + "$ref": "./examples/entities/GetFileEntityById.json" + }, + "Get a security alert entity.": { + "$ref": "./examples/entities/GetSecurityAlertEntityById.json" + }, + "Get a file hash entity.": { + "$ref": "./examples/entities/GetFileHashEntityById.json" + }, + "Get a malware entity.": { + "$ref": "./examples/entities/GetMalwareEntityById.json" + }, + "Get a security group entity.": { + "$ref": "./examples/entities/GetSecurityGroupEntityById.json" + }, + "Get an azure resource entity.": { + "$ref": "./examples/entities/GetAzureResourceEntityById.json" + }, + "Get a cloud application entity.": { + "$ref": "./examples/entities/GetCloudApplicationEntityById.json" + }, + "Get a process entity.": { + "$ref": "./examples/entities/GetProcessEntityById.json" + }, + "Get a dns entity.": { + "$ref": "./examples/entities/GetDnsEntityById.json" + }, + "Get an ip entity.": { + "$ref": "./examples/entities/GetIpEntityById.json" + }, + "Get a registry key entity.": { + "$ref": "./examples/entities/GetRegistryKeyEntityById.json" + }, + "Get a registry value entity.": { + "$ref": "./examples/entities/GetRegistryValueEntityById.json" + }, + "Get a url entity.": { + "$ref": "./examples/entities/GetUrlEntityById.json" + }, + "Get an IoT device entity.": { + "$ref": "./examples/entities/GetIoTDeviceEntityById.json" + }, + "Get a mailCluster entity.": { + "$ref": "./examples/entities/GetMailClusterEntityById.json" + }, + "Get a mailbox entity.": { + "$ref": "./examples/entities/GetMailboxEntityById.json" + }, + "Get a mailMessage entity.": { + "$ref": "./examples/entities/GetMailMessageEntityById.json" + }, + "Get a submissionMail entity.": { + "$ref": "./examples/entities/GetSubmissionMailEntityById.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets an entity.", + "operationId": "Entities_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/EntityId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "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/entities/{entityId}/expand": { + "post": { + "x-ms-examples": { + "Expand an entity": { + "$ref": "./examples/entities/expand/PostExpandEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Expands an entity.", + "operationId": "Entities_Expand", + "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/EntityId" + }, + { + "$ref": "#/parameters/EntityExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityExpandResponse" + } + }, + "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/entities/{entityId}/getTimeline": { + "post": { + "x-ms-examples": { + "Entity timeline": { + "$ref": "./examples/entities/timeline/PostTimelineEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Timeline for an entity.", + "operationId": "EntitiesGetTimeline_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/EntityId" + }, + { + "$ref": "#/parameters/EntityTimelineRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityTimelineResponse" + } + }, + "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/entities/{entityId}/queries": { + "get": { + "x-ms-examples": { + "Get Entity Query": { + "$ref": "./examples/entities/GetQueries.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Get Insights and Activities for an entity.", + "operationId": "Entities_Queries", + "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/EntityId" + }, + { + "$ref": "#/parameters/EntityQueryKindParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetQueriesResponse" + } + }, + "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/entities/{entityId}/getInsights": { + "post": { + "x-ms-examples": { + "Entity Insight": { + "$ref": "./examples/entities/insights/PostGetInsights.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Execute Insights for an entity.", + "operationId": "Entities_GetInsights", + "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/EntityId" + }, + { + "$ref": "#/parameters/GetInsightsEntityQueriesRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityGetInsightsResponse" + } + }, + "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/entities/{entityId}/relations": { + "get": { + "x-ms-examples": { + "Get all relations of an entity.": { + "$ref": "./examples/entities/relations/GetAllEntityRelations.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets all relations of an entity.", + "operationId": "EntitiesRelations_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/EntityId" + }, + { + "$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": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an entity relation.": { + "$ref": "./examples/entities/relations/GetEntityRelationByName.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets an entity relation.", + "operationId": "EntityRelations_GetRelation", + "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/EntityId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EntityExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityId": { + "description": "entity ID", + "in": "path", + "name": "entityId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityTimelineRequestBody": { + "description": "The parameters required to execute an timeline operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityTimelineParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityQueryKindParam": { + "description": "The Kind parameter for queries", + "in": "query", + "name": "kind", + "required": true, + "type": "string", + "enum": [ + "Insight" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "EntityItemQueryKind", + "values": [ + { + "description": "insight", + "value": "Insight" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "GetInsightsEntityQueriesRequestBody": { + "description": "The parameters required to execute insights on the given entity.", + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EntityGetInsightsParameters" + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "AnomalyTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents anomaly timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The anomaly azure resource id." + }, + "productName": { + "type": "string", + "description": "The anomaly product name." + }, + "description": { + "type": "string", + "description": "The anomaly description." + }, + "displayName": { + "type": "string", + "description": "The anomaly name." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The anomaly end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The anomaly start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The anomaly generated time." + }, + "vendor": { + "type": "string", + "description": "The name of the anomaly vendor." + }, + "intent": { + "type": "string", + "description": "The intent of the anomaly." + }, + "techniques": { + "type": "array", + "items": { + "type": "string", + "description": "technique of the anomaly" + }, + "description": "The techniques of the anomaly." + }, + "reasons": { + "type": "array", + "items": { + "type": "string", + "description": "Reason of the anomaly" + }, + "description": "The reasons that cause the anomaly." + } + }, + "required": [ + "azureResourceId", + "displayName", + "endTimeUtc", + "startTimeUtc", + "timeGenerated" + ], + "type": "object", + "x-ms-discriminator-value": "Anomaly" + }, + "EntityGetInsightsParameters": { + "description": "The parameters required to execute insights operation on the given entity.", + "type": "object", + "properties": { + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "addDefaultExtendedTimeRange": { + "description": "Indicates if query time range should be extended with default time range of the query. Default value is false", + "type": "boolean" + }, + "insightQueryIds": { + "description": "List of Insights Query Id. If empty, default value is all insights of this entity", + "type": "array", + "items": { + "description": "Insight Query Id (GUID)", + "format": "uuid", + "type": "string" + } + } + }, + "required": [ + "startTime", + "endTime" + ] + }, + "EntityGetInsightsResponse": { + "description": "The Get Insights result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/GetInsightsResultsMetadata", + "description": "The metadata from the get insights operation results." + }, + "value": { + "description": "The insights result values.", + "items": { + "$ref": "#/definitions/EntityInsightItem" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "EntityEdges": { + "description": "The edge that connects the entity to the other entity.", + "properties": { + "targetEntityId": { + "description": "The target entity Id.", + "type": "string" + }, + "additionalData": { + "additionalProperties": true, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "type": "object" + } + }, + "type": "object" + }, + "EntityExpandParameters": { + "description": "The parameters required to execute an expand operation on the given entity.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "EntityExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "edges": { + "description": "Array of edges that connects the entity to the list of entities.", + "items": { + "$ref": "#/definitions/EntityEdges" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + } + }, + "type": "object" + }, + "EntityInsightItem": { + "description": "Entity insight Item.", + "type": "object", + "properties": { + "queryId": { + "type": "string", + "description": "The query id of the insight" + }, + "queryTimeInterval": { + "type": "object", + "description": "The Time interval that the query actually executed on.", + "properties": { + "startTime": { + "format": "date-time", + "type": "string", + "description": "Insight query start time" + }, + "endTime": { + "format": "date-time", + "type": "string", + "description": "Insight query end time" + } + } + }, + "tableQueryResults": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + }, + "chartQueryResults": { + "type": "array", + "description": "Query results for table insights query.", + "items": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + }, + "x-ms-identifiers": [] + } + } + }, + "EntityList": { + "description": "List of all the entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "EntityTimelineResponse": { + "description": "The entity timeline result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/TimelineResultsMetadata", + "description": "The metadata from the timeline operation results." + }, + "value": { + "description": "The timeline result values.", + "items": { + "$ref": "#/definitions/EntityTimelineItem" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert", + "Anomaly" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + }, + { + "description": "anomaly", + "value": "Anomaly" + } + ] + } + }, + "EntityTimelineParameters": { + "description": "The parameters required to execute s timeline operation on the given entity.", + "properties": { + "kinds": { + "description": "Array of timeline Item kinds.", + "items": { + "$ref": "#/definitions/EntityTimelineKind" + }, + "type": "array" + }, + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "numberOfBucket": { + "description": "The number of bucket for timeline queries aggregation.", + "type": "integer", + "format": "int32" + } + }, + "type": "object", + "required": [ + "startTime", + "endTime" + ] + }, + "EntityQueryItem": { + "description": "An abstract Query item for entity", + "type": "object", + "discriminator": "kind", + "properties": { + "id": { + "description": "Query Template ARM ID", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Query Template ARM Name", + "type": "string" + }, + "type": { + "description": "ARM Type", + "type": "string" + }, + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "description": "The kind of the entity query" + } + }, + "required": [ + "kind" + ] + }, + "EntityQueryItemProperties": { + "description": "An properties abstract Query item for entity", + "type": "object", + "properties": { + "dataTypes": { + "description": "Data types for template", + "type": "array", + "items": { + "properties": { + "dataType": { + "description": "Data type name", + "type": "string" + } + }, + "type": "object" + }, + "x-ms-identifiers": [] + }, + "inputEntityType": { + "description": "The type of the entity", + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType" + }, + "requiredInputFieldsSets": { + "description": "Data types for template", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object" + } + } + }, + "InsightsTableResult": { + "type": "object", + "description": "Query results for table insights query.", + "properties": { + "columns": { + "type": "array", + "description": "Columns Metadata of the table", + "items": { + "properties": { + "type": { + "type": "string", + "description": "the type of the colum" + }, + "name": { + "type": "string", + "description": "the name of the colum" + } + }, + "type": "object" + }, + "x-ms-identifiers": [] + }, + "rows": { + "type": "array", + "description": "Rows data of the table", + "items": { + "type": "array", + "description": "Single row of data", + "items": { + "type": "string", + "description": "Cell in the table" + } + } + } + } + }, + "InsightQueryItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItem" + } + ], + "description": "Represents Insight Query.", + "properties": { + "properties": { + "description": "Properties bag for InsightQueryItem", + "$ref": "#/definitions/InsightQueryItemProperties" + } + }, + "type": "object", + "x-ms-discriminator-value": "Insight" + }, + "InsightQueryItemProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItemProperties" + } + ], + "description": "Represents Insight Query.", + "properties": { + "displayName": { + "type": "string", + "description": "The insight display name." + }, + "description": { + "type": "string", + "description": "The insight description." + }, + "baseQuery": { + "type": "string", + "description": "The base query of the insight." + }, + "tableQuery": { + "type": "object", + "description": "The insight table query.", + "properties": { + "columnsDefinitions": { + "type": "array", + "description": "List of insight column definitions.", + "items": { + "properties": { + "header": { + "type": "string", + "description": "Insight column header." + }, + "outputType": { + "type": "string", + "description": "Insights Column type.", + "enum": [ + "Number", + "String", + "Date", + "Entity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "outputType" + } + }, + "supportDeepLink": { + "type": "boolean", + "description": "Is query supports deep-link." + } + }, + "type": "object" + }, + "x-ms-identifiers": [] + }, + "queriesDefinitions": { + "type": "array", + "description": "List of insight queries definitions.", + "x-ms-identifiers": [], + "items": { + "properties": { + "filter": { + "type": "string", + "description": "Insight column header." + }, + "summarize": { + "type": "string", + "description": "Insight column header." + }, + "project": { + "type": "string", + "description": "Insight column header." + }, + "linkColumnsDefinitions": { + "type": "array", + "description": "Insight column header.", + "x-ms-identifiers": [], + "items": { + "properties": { + "projectedName": { + "type": "string", + "description": "Insight Link Definition Projected Name." + }, + "Query": { + "type": "string", + "description": "Insight Link Definition Query." + } + }, + "type": "object" + } + } + }, + "type": "object" + } + } + } + }, + "chartQuery": { + "type": "object", + "description": "The insight chart query." + }, + "additionalQuery": { + "type": "object", + "description": "The activity query definitions.", + "properties": { + "query": { + "type": "string", + "description": "The insight query." + }, + "text": { + "type": "string", + "description": "The insight text." + } + } + }, + "defaultTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "The padding for the start time of the query." + }, + "afterRange": { + "type": "string", + "description": "The padding for the end time of the query." + } + } + }, + "referenceTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "Additional query time for looking back." + } + } + } + }, + "type": "object" + }, + "GetInsightsResultsMetadata": { + "description": "Get Insights result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the insights request", + "type": "integer", + "format": "int32" + }, + "errors": { + "description": "information about the failed queries", + "items": { + "$ref": "#/definitions/GetInsightsErrorKind" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "totalCount" + ], + "type": "object" + }, + "GetInsightsErrorKind": { + "description": "GetInsights Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "type": "string", + "enum": [ + "Insight" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "GetInsightsError", + "values": [ + { + "value": "Insight" + } + ] + } + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "GetQueriesResponse": { + "description": "Retrieve queries for entity result operation response.", + "properties": { + "value": { + "description": "The query result values.", + "items": { + "$ref": "#/definitions/EntityQueryItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "description": { + "type": "string", + "description": "The alert description." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + }, + "intent": { + "type": "string", + "description": "The intent of the alert.", + "enum": [ + "Unknown", + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "readOnly": true, + "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 navigate 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" + } + ] + } + }, + "techniques": { + "type": "array", + "items": { + "type": "string", + "description": "technique of the alert" + }, + "description": "The techniques of the alert." + } + }, + "required": [ + "azureResourceId", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "TimelineError": { + "description": "Timeline Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "TimelineResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the timeline request", + "type": "integer", + "format": "int32" + }, + "aggregations": { + "description": "timeline aggregation per kind", + "items": { + "$ref": "#/definitions/TimelineAggregation" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "errors": { + "description": "information about the failure queries", + "items": { + "$ref": "#/definitions/TimelineError" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "totalCount", + "aggregations" + ], + "type": "object" + }, + "TimelineAggregation": { + "description": "timeline aggregation information per kind", + "properties": { + "count": { + "description": "the total items found for a kind", + "type": "integer", + "format": "int32" + }, + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + } + }, + "required": [ + "kind", + "count" + ], + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueries.json new file mode 100644 index 000000000000..ffa398f12baa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueries.json @@ -0,0 +1,507 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries": { + "get": { + "x-ms-examples": { + "Get all entity queries.": { + "$ref": "./examples/entityQueries/GetEntityQueries.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity queries.", + "operationId": "EntityQueries_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryKind" + }, + { + "$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/EntityQueryList" + } + }, + "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/entityQueries/{entityQueryId}": { + "get": { + "x-ms-examples": { + "Get an Expansion entity query.": { + "$ref": "./examples/entityQueries/GetExpansionEntityQueryById.json" + }, + "Get an Activity entity query.": { + "$ref": "./examples/entityQueries/GetActivityEntityQueryById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueries_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/EntityQueryId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "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 Activity entity query.": { + "$ref": "./examples/entityQueries/CreateEntityQueryActivity.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Creates or updates the entity query.", + "operationId": "EntityQueries_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/EntityQueryId" + }, + { + "$ref": "#/parameters/CustomEntityQuery" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an entity query.": { + "$ref": "./examples/entityQueries/DeleteEntityQuery.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Delete the entity query.", + "operationId": "EntityQueries_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/EntityQueryId" + } + ], + "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": { + "CustomEntityQueryKind": { + "description": "The kind of the entity query that supports put request.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CustomEntityQueryKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryList": { + "description": "List of all the entity queries.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity queries.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity queries.", + "items": { + "$ref": "#/definitions/EntityQuery" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "CustomEntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query that supports put requests.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/CustomEntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ExpansionEntityQuery": { + "description": "Represents Expansion entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExpansionEntityQueriesProperties", + "description": "Expansion entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Expansion" + }, + "ExpansionEntityQueriesProperties": { + "description": "Describes expansion entity query properties", + "properties": { + "dataSources": { + "description": "List of the data sources that are required to run the query", + "items": { + "description": "data source", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The query display name", + "type": "string" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "inputFields": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "input field", + "type": "string" + }, + "type": "array" + }, + "outputEntityTypes": { + "description": "List of the desired output types to be constructed from the result", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "output entity type" + }, + "type": "array" + }, + "queryTemplate": { + "description": "The template query string to be parsed and formatted", + "type": "string" + } + }, + "type": "object" + }, + "ActivityEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityCustomEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/CustomEntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueriesProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + } + }, + "type": "object" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + }, + "templateName": { + "description": "The template id this activity was created from", + "type": "string" + }, + "enabled": { + "description": "Determines whether this activity is enabled or disabled.", + "type": "boolean" + }, + "createdTimeUtc": { + "description": "The time the activity was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the activity was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryId": { + "description": "entity query ID", + "in": "path", + "name": "entityQueryId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryKind": { + "description": "The entity query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Expansion", + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomEntityQuery": { + "description": "The entity query we want to create or update", + "in": "body", + "name": "entityQuery", + "required": true, + "schema": { + "$ref": "#/definitions/CustomEntityQuery" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueryTemplates.json new file mode 100644 index 000000000000..4f2a57337f20 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueryTemplates.json @@ -0,0 +1,304 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates": { + "get": { + "x-ms-examples": { + "Get all entity query templates.": { + "$ref": "./examples/entityQueryTemplates/GetEntityQueryTemplates.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity query templates.", + "operationId": "EntityQueryTemplates_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryTemplateKind" + }, + { + "$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/EntityQueryTemplateList" + } + }, + "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/entityQueryTemplates/{entityQueryTemplateId}": { + "get": { + "x-ms-examples": { + "Get an Activity entity query template.": { + "$ref": "./examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueryTemplates_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/EntityQueryTemplateId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "EntityQueryTemplateKind": { + "description": "The kind of the entity query template.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryTemplateKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryTemplateList": { + "description": "List of all the entity query templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity query templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity query templates.", + "items": { + "$ref": "#/definitions/EntityQueryTemplate" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQueryTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Specific entity query template.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/EntityQueryTemplateKind", + "description": "the entity query template kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ActivityEntityQueryTemplate": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQueryTemplate" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueryTemplateProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueryTemplateProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + }, + "summarizeBy": { + "description": "The dimensions we want to summarize the timeline results on, this is comma separated list", + "type": "string" + } + }, + "type": "object" + }, + "dataTypes": { + "description": "List of required data types for the given entity query template", + "items": { + "$ref": "#/definitions/DataTypeDefinitions" + }, + "type": "array" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + } + }, + "type": "object" + }, + "DataTypeDefinitions": { + "description": "The data type definition", + "properties": { + "dataType": { + "description": "The data type name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryTemplateId": { + "description": "entity query template ID", + "in": "path", + "name": "entityQueryTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryTemplateKind": { + "description": "The entity template query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/FileImports.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/FileImports.json new file mode 100644 index 000000000000..eedde2824b40 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/FileImports.json @@ -0,0 +1,564 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/fileImports": { + "get": { + "x-ms-examples": { + "Get all file imports.": { + "$ref": "./examples/fileImports/GetFileImports.json" + } + }, + "tags": [ + "FileImports" + ], + "description": "Gets all file imports.", + "operationId": "FileImports_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/FileImportList" + } + }, + "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/fileImports/{fileImportId}": { + "get": { + "x-ms-examples": { + "Get a file import.": { + "$ref": "./examples/fileImports/GetFileImportById.json" + } + }, + "tags": [ + "FileImports" + ], + "description": "Gets a file import.", + "operationId": "FileImports_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/FileImportId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FileImport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a file import.": { + "$ref": "./examples/fileImports/CreateFileImport.json" + } + }, + "tags": [ + "FileImports" + ], + "description": "Creates the file import.", + "operationId": "FileImports_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/FileImportId" + }, + { + "$ref": "#/parameters/FileImport" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/FileImport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a file import.": { + "$ref": "./examples/fileImports/DeleteFileImport.json" + } + }, + "tags": [ + "FileImports" + ], + "description": "Delete the file import.", + "operationId": "FileImports_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/FileImportId" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/FileImport" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "FileMetadata": { + "description": "Represents a file.", + "properties": { + "fileFormat": { + "description": "The format of the file", + "enum": [ + "CSV", + "JSON", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "fileFormat", + "values": [ + { + "description": "A CSV file.", + "value": "CSV" + }, + { + "description": "A JSON file.", + "value": "JSON" + }, + { + "description": "A file of other format.", + "value": "Unspecified" + } + ] + } + }, + "fileName": { + "description": "The name of the file.", + "type": "string" + }, + "fileSize": { + "description": "The size of the file.", + "format": "int32", + "type": "integer" + }, + "fileContentUri": { + "description": "A URI with a valid SAS token to allow uploading / downloading the file.", + "type": "string", + "readOnly": true + }, + "deleteStatus": { + "description": "Indicates whether the file was deleted from the storage account.", + "enum": [ + "Deleted", + "NotDeleted", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeleteStatus", + "values": [ + { + "description": "The file was deleted.", + "value": "Deleted" + }, + { + "description": "The file was not deleted.", + "value": "NotDeleted" + }, + { + "description": "Unspecified", + "value": "Unspecified" + } + ] + }, + "readOnly": true + } + }, + "type": "object" + }, + "FileImport": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Represents a file import in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/FileImportProperties", + "description": "File import properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "FileImportList": { + "description": "List all the file imports.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of file imports.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of file imports.", + "items": { + "$ref": "#/definitions/FileImport" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "FileImportProperties": { + "description": "Describes the FileImport's properties", + "properties": { + "ingestionMode": { + "description": "Describes how to ingest the records in the file.", + "enum": [ + "IngestOnlyIfAllAreValid", + "IngestAnyValidRecords", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IngestionMode", + "values": [ + { + "description": "No records should be ingested when invalid records are detected.", + "value": "IngestOnlyIfAllAreValid" + }, + { + "description": "Valid records should still be ingested when invalid records are detected.", + "value": "IngestAnyValidRecords" + }, + { + "description": "Unspecified", + "value": "Unspecified" + } + ] + } + }, + "contentType": { + "description": "The content type of this file.", + "enum": [ + "BasicIndicator", + "StixIndicator", + "Unspecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileImportContentType", + "values": [ + { + "description": "File containing records with the core fields of an indicator, plus the observables to construct the STIX pattern.", + "value": "BasicIndicator" + }, + { + "description": "File containing STIX indicators.", + "value": "StixIndicator" + }, + { + "description": "File containing other records.", + "value": "Unspecified" + } + ] + } + }, + "createdTimeUTC": { + "description": "The time the file was imported.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "errorFile": { + "description": "Represents the error file (if the import was ingested with errors or failed the validation).", + "$ref": "#/definitions/FileMetadata", + "readOnly": true, + "type": "object" + }, + "errorsPreview": { + "description": "An ordered list of some of the errors that were encountered during validation.", + "items": { + "description": "An error that were encountered during validation.", + "$ref": "#/definitions/ValidationError" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "importFile": { + "description": "Represents the imported file.", + "$ref": "#/definitions/FileMetadata", + "type": "object" + }, + "ingestedRecordCount": { + "description": "The number of records that have been successfully ingested.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "source": { + "description": "The source for the data in the file.", + "type": "string" + }, + "state": { + "description": "The state of the file import.", + "enum": [ + "FatalError", + "Ingested", + "IngestedWithErrors", + "InProgress", + "Invalid", + "WaitingForUpload", + "Unspecified" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileImportState", + "values": [ + { + "description": "A fatal error has occurred while ingesting the file.", + "value": "FatalError" + }, + { + "description": "The file has been ingested.", + "value": "Ingested" + }, + { + "description": "The file has been ingested with errors.", + "value": "IngestedWithErrors" + }, + { + "description": "The file ingestion is in progress.", + "value": "InProgress" + }, + { + "description": "The file is invalid.", + "value": "Invalid" + }, + { + "description": "Waiting for the file to be uploaded.", + "value": "WaitingForUpload" + }, + { + "description": "Unspecified state.", + "value": "Unspecified" + } + ] + } + }, + "totalRecordCount": { + "description": "The number of records in the file.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "validRecordCount": { + "description": "The number of records that have passed validation.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "filesValidUntilTimeUTC": { + "description": "The time the files associated with this import are deleted from the storage account.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "importValidUntilTimeUTC": { + "description": "The time the file import record is soft deleted from the database and history.", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "ingestionMode", + "contentType", + "importFile", + "source" + ], + "type": "object" + }, + "ValidationError": { + "description": "Describes an error encountered in the file during validation.", + "properties": { + "recordIndex": { + "description": "The number of the record that has the error.", + "type": "integer", + "format": "int32" + }, + "errorMessages": { + "description": "A list of descriptions of the error.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + } + }, + "parameters": { + "FileImportId": { + "description": "File import ID", + "in": "path", + "name": "fileImportId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileImport": { + "description": "The file import", + "in": "body", + "name": "fileImport", + "required": true, + "schema": { + "$ref": "#/definitions/FileImport" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Hunts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Hunts.json new file mode 100644 index 000000000000..492a0bb58743 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Hunts.json @@ -0,0 +1,994 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/hunts": { + "get": { + "x-ms-examples": { + "Get all hunts.": { + "$ref": "./examples/hunts/GetHunts.json" + } + }, + "tags": [ + "Hunts" + ], + "description": "Gets all hunts, without relations and comments.", + "operationId": "Hunts_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/HuntList" + } + }, + "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/hunts/{huntId}": { + "get": { + "x-ms-examples": { + "Get a hunt.": { + "$ref": "./examples/hunts/GetHuntById.json" + } + }, + "tags": [ + "Hunts" + ], + "description": "Gets a hunt, without relations and comments.", + "operationId": "Hunts_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/HuntId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Hunt" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a hunt.": { + "$ref": "./examples/hunts/DeleteHunt.json" + } + }, + "tags": [ + "Hunts" + ], + "description": "Delete a hunt.", + "operationId": "Hunts_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/HuntId" + } + ], + "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": { + "Creates or updates a hunt.": { + "$ref": "./examples/hunts/CreateHunt.json" + } + }, + "tags": [ + "Hunts" + ], + "description": "Create or update a hunt", + "operationId": "Hunts_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/HuntId" + }, + { + "$ref": "#/parameters/Hunt" + } + ], + "responses": { + "200": { + "description": "Create or update the Hunt", + "schema": { + "$ref": "#/definitions/Hunt" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Hunt" + } + }, + "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/hunts/{huntId}/relations": { + "get": { + "x-ms-examples": { + "Get all hunt relations.": { + "$ref": "./examples/hunts/GetHuntRelations.json" + } + }, + "tags": [ + "HuntRelations" + ], + "description": "Gets all hunt relations", + "operationId": "HuntRelations_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/HuntId" + }, + { + "$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/HuntRelationList" + } + }, + "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/hunts/{huntId}/relations/{huntRelationId}": { + "get": { + "x-ms-examples": { + "Get a hunt relation.": { + "$ref": "./examples/hunts/GetHuntRelationById.json" + } + }, + "tags": [ + "HuntRelations" + ], + "description": "Gets a hunt relation", + "operationId": "HuntRelations_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/HuntId" + }, + { + "$ref": "#/parameters/HuntRelationId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HuntRelation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a hunt relation.": { + "$ref": "./examples/hunts/DeleteHuntRelation.json" + } + }, + "tags": [ + "HuntRelations" + ], + "description": "Delete a hunt relation.", + "operationId": "HuntRelations_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/HuntId" + }, + { + "$ref": "#/parameters/HuntRelationId" + } + ], + "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": { + "Creates or updates a hunt relation.": { + "$ref": "./examples/hunts/CreateHuntRelation.json" + } + }, + "tags": [ + "HuntRelations" + ], + "description": "Creates or updates a hunt relation.", + "operationId": "HuntRelations_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/HuntId" + }, + { + "$ref": "#/parameters/HuntRelationId" + }, + { + "$ref": "#/parameters/HuntRelation" + } + ], + "responses": { + "200": { + "description": "Create or update the hunt relation", + "schema": { + "$ref": "#/definitions/HuntRelation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/HuntRelation" + } + }, + "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/hunts/{huntId}/comments": { + "get": { + "x-ms-examples": { + "Get all hunt comments.": { + "$ref": "./examples/hunts/GetHuntComments.json" + } + }, + "tags": [ + "HuntComments" + ], + "description": "Gets all hunt comments", + "operationId": "HuntComments_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/HuntId" + }, + { + "$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/HuntCommentList" + } + }, + "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/hunts/{huntId}/comments/{huntCommentId}": { + "get": { + "x-ms-examples": { + "Get a hunt comment.": { + "$ref": "./examples/hunts/GetHuntCommentById.json" + } + }, + "tags": [ + "HuntComments" + ], + "description": "Gets a hunt comment", + "operationId": "HuntComments_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/HuntId" + }, + { + "$ref": "#/parameters/HuntCommentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HuntComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a hunt comment.": { + "$ref": "./examples/hunts/DeleteHuntComment.json" + } + }, + "tags": [ + "HuntComments" + ], + "description": "Delete a hunt comment.", + "operationId": "HuntComments_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/HuntId" + }, + { + "$ref": "#/parameters/HuntCommentId" + } + ], + "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": { + "Creates or updates a hunt comment.": { + "$ref": "./examples/hunts/CreateHuntComment.json" + } + }, + "tags": [ + "HuntComments" + ], + "description": "Creates or updates a hunt relation.", + "operationId": "HuntComments_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/HuntId" + }, + { + "$ref": "#/parameters/HuntCommentId" + }, + { + "$ref": "#/parameters/HuntComment" + } + ], + "responses": { + "200": { + "description": "Create or update the hunt comment", + "schema": { + "$ref": "#/definitions/HuntComment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/HuntComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "HuntList": { + "description": "List all the hunts.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of hunts.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of hunts.", + "items": { + "$ref": "#/definitions/Hunt" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Hunt": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Hunt in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntProperties", + "description": "Hunt properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "HuntProperties": { + "description": "Describes hunt properties", + "properties": { + "displayName": { + "description": "The display name of the hunt", + "type": "string" + }, + "description": { + "description": "The description of the hunt", + "type": "string" + }, + "status": { + "description": "The status of the hunt.", + "enum": [ + "New", + "Active", + "Closed", + "Backlog", + "Approved" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "status" + }, + "default": "New" + }, + "hypothesisStatus": { + "description": "The hypothesis status of the hunt.", + "enum": [ + "Unknown", + "Invalidated", + "Validated" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "hypothesisStatus" + }, + "default": "Unknown" + }, + "attackTactics": { + "description": "A list of mitre attack tactics the hunt is associated with", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "attackTechniques": { + "description": "A list of a mitre attack techniques the hunt is associated with", + "items": { + "description": "Attack Technique", + "type": "string" + }, + "type": "array" + }, + "labels": { + "description": "List of labels relevant to this hunt ", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "owner": { + "$ref": "#/definitions/HuntOwner" + } + }, + "required": [ + "displayName", + "description" + ], + "type": "object" + }, + "HuntRelationList": { + "description": "List of all the hunt relations", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of hunt relations.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of hunt relations", + "items": { + "$ref": "#/definitions/HuntRelation" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "HuntRelation": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Hunt Relation in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntRelationProperties", + "description": "Hunt Relation properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "HuntRelationProperties": { + "description": "Describes hunt relation properties", + "properties": { + "relatedResourceId": { + "description": "The id of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "type": "string", + "readOnly": true + }, + "relationType": { + "description": "The type of the hunt relation", + "type": "string", + "readOnly": true + }, + "relatedResourceKind": { + "description": "The resource that the relation is related to", + "type": "string", + "readOnly": true + }, + "labels": { + "description": "List of labels relevant to this hunt", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "relatedResourceId" + ], + "type": "object" + }, + "HuntCommentList": { + "description": "List of all hunt comments", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of hunt comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of hunt comments", + "items": { + "$ref": "#/definitions/HuntComment" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "HuntComment": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Hunt Comment in Azure Security Insights", + "properties": { + "properties": { + "$ref": "#/definitions/HuntCommentProperties", + "description": "Hunt Comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "HuntCommentProperties": { + "description": "Describes a hunt comment properties", + "properties": { + "message": { + "description": "The message for the comment", + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "HuntOwner": { + "description": "Describes a user that the hunt is assigned to", + "type": "object", + "properties": { + "email": { + "description": "The email of the user the hunt is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the hunt is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the hunt is assigned to.", + "format": "uuid", + "type": "string", + "x-nullable": true + }, + "userPrincipalName": { + "description": "The user principal name of the user the hunt is assigned to.", + "type": "string" + }, + "ownerType": { + "description": "The type of the owner the hunt is assigned to.", + "type": "string", + "enum": [ + "Unknown", + "User", + "Group" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OwnerType", + "values": [ + { + "description": "The hunt owner type is unknown", + "value": "Unknown" + }, + { + "description": "The hunt owner type is an AAD user", + "value": "User" + }, + { + "description": "The hunt owner type is an AAD group", + "value": "Group" + } + ] + } + } + } + } + }, + "parameters": { + "Hunt": { + "description": "The hunt", + "name": "hunt", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Hunt" + }, + "x-ms-parameter-location": "method" + }, + "HuntId": { + "description": "The hunt id (GUID)", + "in": "path", + "name": "huntId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "HuntRelation": { + "description": "The hunt relation", + "in": "body", + "name": "huntRelation", + "required": true, + "schema": { + "$ref": "#/definitions/HuntRelation" + }, + "x-ms-parameter-location": "method" + }, + "HuntRelationId": { + "description": "The hunt relation id (GUID)", + "in": "path", + "name": "huntRelationId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "HuntComment": { + "description": "The hunt comment", + "in": "body", + "name": "huntComment", + "required": true, + "schema": { + "$ref": "#/definitions/HuntComment" + }, + "x-ms-parameter-location": "method" + }, + "HuntCommentId": { + "description": "The hunt comment id (GUID)", + "in": "path", + "name": "huntCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Incidents.json new file mode 100644 index 000000000000..3c75aac39fe4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Incidents.json @@ -0,0 +1,1658 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-preview" + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_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" + }, + { + "$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/IncidentList" + } + }, + "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": { + "Incidents_List": { + "$ref": "./examples/incidents/Incidents_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "tags": [ + "Incidents" + ], + "description": "Gets an incident.", + "operationId": "Incidents_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/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Incidents_Get": { + "$ref": "./examples/incidents/Incidents_Get.json" + } + } + }, + "put": { + "tags": [ + "Incidents" + ], + "description": "Creates or updates the incident.", + "operationId": "Incidents_CreateOrUpdate", + "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/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK", + "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" + } + } + }, + "x-ms-examples": { + "Incidents_CreateOrUpdate": { + "$ref": "./examples/incidents/Incidents_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "Incidents" + ], + "description": "Delete the incident.", + "operationId": "Incidents_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/IncidentId" + } + ], + "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" + } + } + }, + "x-ms-examples": { + "Incidents_Delete": { + "$ref": "./examples/incidents/Incidents_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam": { + "post": { + "tags": [ + "IncidentTeam" + ], + "description": "Creates a Microsoft team to investigate the incident by sharing information and insights between participants.", + "operationId": "Incidents_CreateTeam", + "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/IncidentId" + }, + { + "$ref": "#/parameters/TeamProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TeamInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Incidents_CreateTeam": { + "$ref": "./examples/incidents/IncidentTeam/Incidents_CreateTeam.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all incident alerts.", + "operationId": "Incidents_ListAlerts", + "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/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" + } + } + }, + "x-ms-examples": { + "Incidents_ListAlerts": { + "$ref": "./examples/incidents/IncidentAlerts/Incidents_ListAlerts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all incident bookmarks.", + "operationId": "Incidents_ListBookmarks", + "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/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" + } + } + }, + "x-ms-examples": { + "Incidents_ListBookmarks": { + "$ref": "./examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "tags": [ + "IncidentComments" + ], + "description": "Gets all incident comments.", + "operationId": "IncidentComments_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" + }, + { + "$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/IncidentCommentList" + } + }, + "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": { + "IncidentComments_List": { + "$ref": "./examples/incidents/IncidentComments/IncidentComments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "tags": [ + "IncidentComments" + ], + "description": "Gets an incident comment.", + "operationId": "IncidentComments_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/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "IncidentComments_Get": { + "$ref": "./examples/incidents/IncidentComments/IncidentComments_Get.json" + } + } + }, + "put": { + "tags": [ + "IncidentComments" + ], + "description": "Creates or updates the incident comment.", + "operationId": "IncidentComments_CreateOrUpdate", + "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/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "200": { + "description": "OK", + "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" + } + } + }, + "x-ms-examples": { + "IncidentComments_CreateOrUpdate": { + "$ref": "./examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "IncidentComments" + ], + "description": "Delete the incident comment.", + "operationId": "IncidentComments_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/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" + } + } + }, + "x-ms-examples": { + "IncidentComments_Delete": { + "$ref": "./examples/incidents/IncidentComments/IncidentComments_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "tags": [ + "IncidentEntities" + ], + "description": "Gets all incident related entities.", + "operationId": "Incidents_ListEntities", + "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/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" + } + } + }, + "x-ms-examples": { + "Incidents_ListEntities": { + "$ref": "./examples/incidents/IncidentEntities/Incidents_ListEntities.json" + } + } + } + }, + "/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 incident relations.", + "operationId": "IncidentRelations_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" + }, + { + "$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": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/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 an incident relation.", + "operationId": "IncidentRelations_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/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/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 the incident relation.", + "operationId": "IncidentRelations_CreateOrUpdate", + "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/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/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": "Delete the incident relation.", + "operationId": "IncidentRelations_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/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks": { + "get": { + "tags": [ + "IncidentTasks" + ], + "description": "Gets all incident tasks.", + "operationId": "IncidentTasks_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" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentTaskList" + } + }, + "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": { + "IncidentTasks_List": { + "$ref": "./examples/incidents/IncidentTasks/IncidentTasks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/tasks/{incidentTaskId}": { + "get": { + "tags": [ + "IncidentTasks" + ], + "description": "Gets an incident task.", + "operationId": "IncidentTasks_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/IncidentId" + }, + { + "$ref": "#/parameters/IncidentTaskId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "IncidentTasks_Get": { + "$ref": "./examples/incidents/IncidentTasks/IncidentTasks_Get.json" + } + } + }, + "put": { + "tags": [ + "IncidentTasks" + ], + "description": "Creates or updates the incident task.", + "operationId": "IncidentTasks_CreateOrUpdate", + "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/IncidentId" + }, + { + "$ref": "#/parameters/IncidentTaskId" + }, + { + "$ref": "#/parameters/IncidentTask" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentTask" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "IncidentTasks_CreateOrUpdate": { + "$ref": "./examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "IncidentTasks" + ], + "description": "Delete the incident task.", + "operationId": "IncidentTasks_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/IncidentId" + }, + { + "$ref": "#/parameters/IncidentTaskId" + } + ], + "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" + } + } + }, + "x-ms-examples": { + "IncidentTasks_Delete": { + "$ref": "./examples/incidents/IncidentTasks/IncidentTasks_Delete.json" + } + } + } + } + }, + "definitions": { + "Incident": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/IncidentProperties", + "x-ms-client-flatten": true + } + } + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "type": "object", + "properties": { + "alertsCount": { + "format": "int32", + "description": "The number of alerts in the incident", + "type": "integer", + "readOnly": true + }, + "bookmarksCount": { + "format": "int32", + "description": "The number of bookmarks in the incident", + "type": "integer", + "readOnly": true + }, + "commentsCount": { + "format": "int32", + "description": "The number of comments in the incident", + "type": "integer", + "readOnly": true + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "type": "array", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true + }, + "tactics": { + "description": "The tactics associated with incident", + "type": "array", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true + }, + "techniques": { + "description": "The techniques associated with incident's tactics", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "providerIncidentUrl": { + "description": "The provider incident url to the incident in Microsoft 365 Defender portal", + "type": "string", + "readOnly": true + } + } + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "type": "object", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/SecurityAlert" + } + } + }, + "required": [ + "value" + ] + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "type": "object", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/HuntingBookmark" + } + } + }, + "required": [ + "value" + ] + }, + "IncidentComment": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + } + }, + "IncidentCommentList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IncidentComment" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "required": [ + "message" + ], + "type": "object", + "properties": { + "message": { + "description": "The comment message", + "type": "string" + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the comment was created", + "type": "string", + "readOnly": true + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The time the comment was updated", + "type": "string", + "readOnly": true + }, + "author": { + "type": "object", + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true + } + } + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "type": "object", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + } + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "required": [ + "count", + "entityKind" + ], + "type": "object", + "properties": { + "entityKind": { + "description": "The kind of the aggregated entity.", + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerKind" + }, + "count": { + "format": "int32", + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer" + } + } + }, + "IncidentList": { + "required": [ + "value" + ], + "description": "List all the incidents.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Incident" + } + }, + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "type": "string", + "readOnly": true + } + } + }, + "IncidentProperties": { + "required": [ + "severity", + "status", + "title" + ], + "type": "object", + "properties": { + "title": { + "description": "The title of the incident", + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "severity": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "classification": { + "description": "The reason the incident was closed", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "owner": { + "type": "object", + "description": "Describes a user that the incident is assigned to", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo" + }, + "labels": { + "description": "List of labels relevant to this incident", + "type": "array", + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + } + }, + "firstActivityTimeUtc": { + "format": "date-time", + "description": "The time of the first activity in the incident", + "type": "string" + }, + "lastActivityTimeUtc": { + "format": "date-time", + "description": "The time of the last activity in the incident", + "type": "string" + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the incident was updated", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the incident was created", + "type": "string", + "readOnly": true + }, + "incidentNumber": { + "format": "int32", + "description": "A sequential number", + "type": "integer", + "readOnly": true + }, + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "type": "array", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "type": "string", + "readOnly": true + }, + "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 + }, + "teamInformation": { + "$ref": "#/definitions/TeamInformation", + "description": "Describes a team for the incident", + "type": "object" + } + } + }, + "IncidentTask": { + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/IncidentTaskProperties", + "x-ms-client-flatten": true + } + } + }, + "IncidentTaskList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IncidentTask" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "IncidentTaskProperties": { + "required": [ + "status", + "title" + ], + "type": "object", + "properties": { + "title": { + "description": "The title of the task", + "type": "string" + }, + "description": { + "description": "The description of the task", + "type": "string" + }, + "status": { + "$ref": "#/definitions/IncidentTaskStatus" + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the task was created", + "type": "string", + "readOnly": true + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the task was updated", + "type": "string", + "readOnly": true + }, + "createdBy": { + "type": "object", + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + }, + "lastModifiedBy": { + "type": "object", + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + } + } + }, + "IncidentTaskStatus": { + "enum": [ + "New", + "Completed" + ], + "type": "string", + "example": "New", + "x-ms-enum": { + "name": "IncidentTaskStatus", + "modelAsString": true, + "values": [ + { + "value": "New", + "description": "A new task" + }, + { + "value": "Completed", + "description": "A completed task" + } + ] + } + }, + "TeamInformation": { + "description": "Describes team information", + "type": "object", + "properties": { + "teamId": { + "description": "Team ID", + "type": "string", + "readOnly": true + }, + "primaryChannelUrl": { + "description": "The primary channel URL of the team", + "type": "string", + "readOnly": true + }, + "teamCreationTimeUtc": { + "format": "date-time", + "description": "The time the team was created", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the team", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the team", + "type": "string", + "readOnly": true + } + } + }, + "TeamProperties": { + "description": "Describes team properties", + "required": [ + "teamName" + ], + "type": "object", + "properties": { + "teamName": { + "description": "The name of the team", + "type": "string" + }, + "teamDescription": { + "description": "The description of the team", + "type": "string" + }, + "groupIds": { + "description": "List of group IDs to add their members to the team", + "type": "array", + "items": { + "format": "uuid", + "type": "string" + } + }, + "memberIds": { + "description": "List of member IDs to add to the team", + "type": "array", + "items": { + "format": "uuid", + "type": "string" + } + } + } + } + }, + "parameters": { + "Incident": { + "name": "incident", + "description": "The incident", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "IncidentId": { + "in": "path", + "name": "incidentId", + "description": "Incident ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "IncidentComment": { + "name": "incidentComment", + "description": "The incident comment", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "IncidentCommentId": { + "in": "path", + "name": "incidentCommentId", + "description": "Incident comment ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "TeamProperties": { + "name": "teamProperties", + "description": "Team properties", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/TeamInformation" + } + }, + "IncidentTask": { + "name": "incidentTask", + "description": "The incident task", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/IncidentTask" + } + }, + "IncidentTaskId": { + "in": "path", + "name": "incidentTaskId", + "description": "Incident task 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/preview/2023-07-01-preview/Metadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Metadata.json new file mode 100644 index 000000000000..83a99f35cc84 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Metadata.json @@ -0,0 +1,774 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "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/preview/2023-07-01-preview/OfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/OfficeConsents.json new file mode 100644 index 000000000000..4a5b6c9a0bd5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/OfficeConsents.json @@ -0,0 +1,234 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents": { + "get": { + "x-ms-examples": { + "Get all office consents.": { + "$ref": "./examples/officeConsents/GetOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets all office365 consents.", + "operationId": "OfficeConsents_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/OfficeConsentList" + } + }, + "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/officeConsents/{consentId}": { + "get": { + "x-ms-examples": { + "Get an office consent.": { + "$ref": "./examples/officeConsents/GetOfficeConsentsById.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets an office365 consent.", + "operationId": "OfficeConsents_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/ConsentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfficeConsent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an office consent.": { + "$ref": "./examples/officeConsents/DeleteOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Delete the office365 consent.", + "operationId": "OfficeConsents_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/ConsentId" + } + ], + "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": { + "ConsentId": { + "description": "consent ID", + "in": "path", + "name": "consentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "OfficeConsent": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Consent for Office365 tenant that already made.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeConsentProperties", + "description": "Office consent properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "OfficeConsentList": { + "description": "List of all the office365 consents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of office consents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of the consents.", + "items": { + "$ref": "#/definitions/OfficeConsent" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "OfficeConsentProperties": { + "description": "Consent property bag.", + "properties": { + "tenantId": { + "description": "The tenantId of the Office365 with the consent.", + "type": "string" + }, + "consentId": { + "description": "Help to easily cascade among the data layers.", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/OnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/OnboardingStates.json new file mode 100644 index 000000000000..1b6ff7b593d1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/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-07-01-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.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" + } + }, + "required": [ + "value" + ], + "type": "object" + } + }, + "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/preview/2023-07-01-preview/Recommendations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Recommendations.json new file mode 100644 index 000000000000..75f5d249077b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Recommendations.json @@ -0,0 +1,564 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/recommendations": { + "get": { + "x-ms-examples": { + "Get Recommendations list.": { + "$ref": "./examples/recommendations/GetRecommendations.json" + } + }, + "tags": [ + "recommendations" + ], + "description": "Gets a list of all recommendations.", + "operationId": "GetRecommendations_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/RecommendationList" + } + }, + "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/recommendations/{recommendationId}": { + "get": { + "x-ms-examples": { + "Get a recommendation.": { + "$ref": "./examples/recommendations/GetRecommendation.json" + } + }, + "tags": [ + "recommendations" + ], + "description": "Gets a recommendation by its id.", + "operationId": "Get_SingleRecommendation", + "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/RecommendationId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Recommendation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Creates a recommendation.": { + "$ref": "./examples/recommendations/PatchRecommendation.json" + } + }, + "tags": [ + "recommendations" + ], + "description": "Patch a recommendation.", + "operationId": "Update_Recommendation", + "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/RecommendationId" + }, + { + "$ref": "#/parameters/RecommendationPatch" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "202": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Recommendation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Recommendation": { + "description": "Recommendation object.", + "properties": { + "id": { + "description": "id of recommendation.", + "type": "string", + "format": "uuid" + }, + "instructions": { + "description": "Instructions of the recommendation.", + "$ref": "#/definitions/Instructions" + }, + "content": { + "description": "Content of the recommendation.", + "$ref": "#/definitions/Content", + "x-nullable": true + }, + "resourceId": { + "description": "Id of the resource this recommendation refers to.", + "type": "string", + "x-nullable": true + }, + "additionalProperties": { + "description": "Collection of additional properties for the recommendation.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-nullable": true + }, + "title": { + "description": "Title of the recommendation.", + "type": "string" + }, + "description": { + "description": "Description of the recommendation.", + "type": "string" + }, + "recommendationTypeTitle": { + "description": "Title of the recommendation type.", + "type": "string" + }, + "recommendationTypeId": { + "description": "Id of the recommendation type.", + "type": "string" + }, + "category": { + "description": "Category of the recommendation.", + "$ref": "#/definitions/RecommendationCategory" + }, + "context": { + "description": "Context of the recommendation.", + "$ref": "#/definitions/RecommendationContext" + }, + "workspaceId": { + "description": "Id of the workspace this recommendation refers to.", + "type": "string", + "format": "uuid" + }, + "actions": { + "description": "List of actions to take for this recommendation.", + "type": "array", + "items": { + "$ref": "#/definitions/RecommendedAction" + }, + "x-ms-identifiers": [] + }, + "state": { + "description": "State of the recommendation.", + "$ref": "#/definitions/RecommendationState" + }, + "priority": { + "description": "Priority of the recommendation.", + "$ref": "#/definitions/RecommendationPriority" + }, + "lastEvaluatedTimeUtc": { + "description": "The time stamp (UTC) when the recommendation was last evaluated.", + "type": "string", + "format": "date-time" + }, + "hideUntilTimeUtc": { + "description": "The time stamp (UTC) when the recommendation should be displayed again.", + "type": "string", + "format": "date-time", + "x-nullable": true + }, + "displayUntilTimeUtc": { + "description": "The timestamp (UTC) after which the recommendation should not be displayed anymore.", + "type": "string", + "format": "date-time", + "x-nullable": true + }, + "visible": { + "description": "Value indicating if the recommendation should be displayed or not.", + "type": "boolean" + } + }, + "required": [ + "id", + "instructions", + "title", + "description", + "recommendationTypeTitle", + "recommendationTypeId", + "category", + "context", + "workspaceId", + "actions", + "state", + "priority", + "lastEvaluatedTimeUtc" + ], + "type": "object" + }, + "RecommendationList": { + "description": "A list of recommendations", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Recommendation" + }, + "description": "An list of recommendations" + } + }, + "type": "object" + }, + "Content": { + "description": "Content section of the recommendation.", + "properties": { + "title": { + "description": "Title of the content.", + "type": "string" + }, + "description": { + "description": "Description of the content.", + "type": "string" + } + }, + "required": [ + "title", + "description" + ], + "type": "object" + }, + "Instructions": { + "description": "Instructions section of a recommendation.", + "properties": { + "actionsToBePerformed": { + "description": "What actions should be taken to complete the recommendation.", + "type": "string" + }, + "recommendationImportance": { + "description": "Explains why the recommendation is important.", + "type": "string" + }, + "howToPerformActionDetails": { + "description": "How should the user complete the recommendation.", + "type": "string", + "x-nullable": true + } + }, + "required": [ + "actionsToBePerformed", + "recommendationImportance" + ], + "type": "object" + }, + "RecommendedAction": { + "description": "What actions should be taken to complete the recommendation.", + "properties": { + "linkText": { + "description": "Text of the link to complete the action.", + "type": "string" + }, + "linkUrl": { + "description": "The Link to complete the action.", + "type": "string" + }, + "state": { + "description": "The state of the action.", + "$ref": "#/definitions/ActionState" + } + }, + "required": [ + "linkText", + "linkUrl" + ], + "type": "object" + }, + "RecommendationPatch": { + "description": "Recommendation Fields to update.", + "properties": { + "state": { + "description": "State of the recommendation.", + "$ref": "#/definitions/RecommendationState" + }, + "hideUntilTimeUtc": { + "description": "The time stamp (UTC) when the recommendation should be displayed again.", + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, + "RecommendationCategory": { + "description": "Categories of recommendations.", + "type": "string", + "enum": [ + "Onboarding", + "NewFeature", + "SocEfficiency", + "CostOptimization", + "Demo" + ], + "x-ms-enum": { + "name": "Category", + "modelAsString": true, + "values": [ + { + "value": "Onboarding", + "description": "Onboarding recommendation." + }, + { + "value": "NewFeature", + "description": "New feature recommendation." + }, + { + "value": "SocEfficiency", + "description": "Soc Efficiency recommendation." + }, + { + "value": "CostOptimization", + "description": "Cost optimization recommendation." + }, + { + "value": "Demo", + "description": "Demo recommendation." + } + ] + } + }, + "RecommendationContext": { + "description": "Context of recommendation.", + "type": "string", + "enum": [ + "Analytics", + "Incidents", + "Overview", + "None" + ], + "x-ms-enum": { + "name": "Context", + "modelAsString": true, + "values": [ + { + "value": "Analytics", + "description": "Analytics context." + }, + { + "value": "Incidents", + "description": "Incidents context." + }, + { + "value": "Overview", + "description": "Overview context." + }, + { + "value": "None", + "description": "No context." + } + ] + } + }, + "RecommendationState": { + "description": "State of recommendation.", + "type": "string", + "enum": [ + "Active", + "Disabled", + "CompletedByUser", + "CompletedByAction", + "Hidden" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "Recommendation is active." + }, + { + "value": "Disabled", + "description": "Recommendation is disabled." + }, + { + "value": "CompletedByUser", + "description": "Recommendation has been completed by user." + }, + { + "value": "CompletedByAction", + "description": "Recommendation has been completed by action." + }, + { + "value": "Hidden", + "description": "Recommendation is hidden." + } + ] + } + }, + "RecommendationPriority": { + "description": "Priority of recommendation.", + "type": "string", + "enum": [ + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "Priority", + "modelAsString": true, + "values": [ + { + "value": "Low", + "description": "Low priority for recommendation." + }, + { + "value": "Medium", + "description": "Medium priority for recommendation." + }, + { + "value": "High", + "description": "High priority for recommendation." + } + ] + } + }, + "ActionState": { + "description": "Represents the state the recommendation action is currently in.", + "type": "string", + "enum": [ + "Active", + "InProgress", + "Done" + ], + "x-ms-enum": { + "name": "Priority", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "Default state of actions." + }, + { + "value": "InProgress", + "description": "State for when actions have been clicked on." + }, + { + "value": "Done", + "description": "State of completed actions." + } + ] + } + } + }, + "parameters": { + "RecommendationId": { + "description": "Recommendation Id.", + "in": "path", + "name": "recommendationId", + "required": true, + "type": "string", + "format": "uuid", + "x-ms-parameter-location": "method" + }, + "RecommendationPatch": { + "description": "Recommendation Fields to Update.", + "in": "body", + "name": "recommendationPatch", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/RecommendationPatch" + }, + "x-ms-identifiers": [] + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/SecurityMLAnalyticsSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/SecurityMLAnalyticsSettings.json new file mode 100644 index 000000000000..9b97dcb1b1f2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/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-07-01-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.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/preview/2023-07-01-preview/Settings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Settings.json new file mode 100644 index 000000000000..5c0b77efc9f1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Settings.json @@ -0,0 +1,423 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings": { + "get": { + "x-ms-examples": { + "Get all settings.": { + "$ref": "./examples/settings/GetAllSettings.json" + } + }, + "tags": [ + "Settings" + ], + "description": "List of all the settings", + "operationId": "ProductSettings_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/SettingList" + } + }, + "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/settings/{settingsName}": { + "get": { + "x-ms-examples": { + "Get EyesOn settings.": { + "$ref": "./examples/settings/GetEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Gets a setting.", + "operationId": "ProductSettings_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/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete EyesOn settings.": { + "$ref": "./examples/settings/DeleteEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Delete setting of the product.", + "operationId": "ProductSettings_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/SettingsName" + } + ], + "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": { + "Update EyesOn settings.": { + "$ref": "./examples/settings/UpdateEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Updates setting.", + "operationId": "ProductSettings_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/SettingsName" + }, + { + "$ref": "#/parameters/Settings" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", + "items": { + "$ref": "#/definitions/Settings" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Settings": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "The Setting.", + "properties": { + "kind": { + "description": "The kind of the setting", + "enum": [ + "Anomalies", + "EyesOn", + "EntityAnalytics", + "Ueba" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingKind" + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "type": "object" + }, + "Anomalies": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/AnomaliesSettingsProperties", + "description": "Anomalies properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Anomalies" + }, + "AnomaliesSettingsProperties": { + "description": "Anomalies property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EyesOn": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EyesOn" + }, + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EntityAnalytics": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EntityAnalyticsProperties", + "description": "EntityAnalytics properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EntityAnalytics" + }, + "EntityAnalyticsProperties": { + "description": "EntityAnalytics property bag.", + "properties": { + "entityProviders": { + "description": "The relevant entity providers that are synced", + "items": { + "$ref": "#/definitions/EntityProviders" + }, + "type": "array" + } + }, + "type": "object" + }, + "EntityProviders": { + "description": "The entity provider that is synced.", + "enum": [ + "ActiveDirectory", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityProviders" + } + }, + "Ueba": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/UebaProperties", + "description": "Ueba properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ueba" + }, + "UebaProperties": { + "description": "Ueba property bag.", + "properties": { + "dataSources": { + "description": "The relevant data sources that enriched by ueba", + "items": { + "$ref": "#/definitions/UebaDataSources" + }, + "type": "array" + } + }, + "type": "object" + }, + "UebaDataSources": { + "description": "The data source that enriched by ueba.", + "enum": [ + "AuditLogs", + "AzureActivity", + "SecurityEvent", + "SigninLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "UebaDataSources" + } + } + }, + "parameters": { + "Settings": { + "description": "The setting", + "in": "body", + "name": "settings", + "required": true, + "schema": { + "$ref": "#/definitions/Settings" + }, + "x-ms-parameter-location": "method" + }, + "SettingsName": { + "description": "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + "in": "path", + "name": "settingsName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/SourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/SourceControls.json new file mode 100644 index 000000000000..f8c32b59f127 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/SourceControls.json @@ -0,0 +1,971 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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/RepoTypeParameter" + } + ], + "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" + }, + "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.", + "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." + } + } + }, + "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": { + "readOnly": true, + "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 + } + } + }, + "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.", + "x-ms-external": true, + "properties": { + "warning": { + "$ref": "#/definitions/WarningBody", + "description": "Warning data." + } + }, + "type": "object" + }, + "WarningBody": { + "readOnly": true, + "x-ms-external": 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" + ], + "properties": { + "repositoryAccess": { + "$ref": "#/definitions/RepositoryAccess" + } + } + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/ThreatIntelligence.json new file mode 100644 index 000000000000..829a4600b473 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/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-07-01-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.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/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "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" + } + } + } + } + } + }, + "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" + } + }, + "definitions": { + "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" + ] + }, + "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" + ] + }, + "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": [] + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "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" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/TriggeredAnalyticsRuleRuns.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/TriggeredAnalyticsRuleRuns.json new file mode 100644 index 000000000000..4ce490b8af5b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/TriggeredAnalyticsRuleRuns.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-07-01-preview" + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns/{ruleRunId}": { + "get": { + "tags": [ + "triggered analytics rule run" + ], + "description": "Gets the triggered analytics rule run.", + "operationId": "triggeredAnalyticsRuleRun_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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" + }, + { + "description": "the triggered rule id", + "in": "path", + "name": "ruleRunId", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TriggeredAnalyticsRuleRun" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "triggeredAnalyticsRuleRun_Get": { + "$ref": "./examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRun_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns": { + "get": { + "tags": [ + "triggered analytics rule runs" + ], + "description": "Gets the triggered analytics rule runs.", + "operationId": "getTriggeredAnalyticsRuleRuns_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TriggeredAnalyticsRuleRuns" + } + }, + "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": { + "triggeredAnalyticsRuleRuns_Get": { + "$ref": "./examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRuns_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/triggerRuleRun": { + "post": { + "tags": [ + "trigger analytics rule run" + ], + "description": "triggers analytics rule run", + "operationId": "alertRule_TriggerRuleRun", + "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/RuleId" + }, + { + "$ref": "#/parameters/AnalyticsRuleRunTriggerParameter" + } + ], + "responses": { + "202": { + "description": "The analytics rule run was successfully triggered.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "triggerRuleRun_Post": { + "$ref": "./examples/triggeredAnalyticsRuleRuns/triggerRuleRun_Post.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ProvisioningState": { + "enum": [ + "Accepted", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "description": "The triggered analytics rule run provisioning state", + "type": "string", + "example": "Accepted", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Accepted" + }, + { + "value": "InProgress" + }, + { + "value": "Succeeded" + }, + { + "value": "Failed" + }, + { + "value": "Canceled" + } + ] + } + }, + "TriggeredAnalyticsRuleRun": { + "required": [ + "properties" + ], + "description": "The triggered analytics rule run", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TriggeredAnalyticsRuleRunProperties", + "x-ms-client-flatten": true + } + } + }, + "TriggeredAnalyticsRuleRunProperties": { + "required": [ + "executionTimeUtc", + "provisioningState", + "ruleId", + "triggeredAnalyticsRuleRunId" + ], + "description": "The triggered analytics rule run Properties", + "type": "object", + "properties": { + "executionTimeUtc": { + "format": "date-time", + "type": "string" + }, + "ruleId": { + "type": "string" + }, + "triggeredAnalyticsRuleRunId": { + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "ruleRunAdditionalData": { + "type": "object", + "additionalProperties": {} + } + } + }, + "TriggeredAnalyticsRuleRuns": { + "required": [ + "value" + ], + "description": "The triggered analytics rule run array", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TriggeredAnalyticsRuleRun" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "AnalyticsRuleRunTriggerProperties": { + "required": [ + "executionTimeUtc" + ], + "description": "The Analytics Rule Run Trigger properties", + "type": "object", + "properties": { + "executionTimeUtc": { + "format": "date-time", + "type": "string" + } + } + }, + "AnalyticsRuleRunTrigger": { + "required": [ + "properties" + ], + "description": "Analytics Rule Run Trigger request", + "properties": { + "properties": { + "$ref": "#/definitions/AnalyticsRuleRunTriggerProperties", + "description": "The analytics Rule Run Trigger request", + "x-ms-client-flatten": true + } + }, + "type": "object" + } + }, + "parameters": { + "RuleId": { + "description": "Alert rule ID", + "in": "path", + "name": "ruleId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AnalyticsRuleRunTriggerParameter": { + "description": "The Analytics Rule Run Trigger parameter", + "in": "body", + "name": "analyticsRuleRunTriggerParameter", + "required": true, + "schema": { + "$ref": "#/definitions/AnalyticsRuleRunTrigger" + }, + "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" + ] + } + ], + "tags": [ + { + "name": "AnalyticsOnDemandArm", + "description": "Controller that handles requests for triggeredAnalyticsRuleRuns ARM API." + }, + { + "name": "AnalyticsOnDemandArm", + "description": "Triggered Analytics Rule Runs" + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Watchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Watchlists.json new file mode 100644 index 000000000000..5f058c9c6219 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/Watchlists.json @@ -0,0 +1,721 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets 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": "Gets 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", + "headers": { + "Azure-AsyncOperation": { + "description": "Contains the status URL on which clients are expected to poll the status of the delete operation.", + "type": "string" + } + } + }, + "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": { + "Creates or updates a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + }, + "Creates or updates 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 either rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for small watchlist (content size below 3.8 MB). The SAS URI enables the creation of large watchlist, where the content size can go up to 500 MB. The status of processing such large file can be polled through the URL returned in Azure-AsyncOperation header.", + "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. The response includes the Provisioning State and the Azure-AsyncOperation header. To get the progress of the operation, call GET operation on the URL in Azure-AsyncOperation header field.", + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "headers": { + "Azure-AsyncOperation": { + "description": "Contains the status URL on which clients are expected to poll the status of the operation.", + "type": "string" + } + } + }, + "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": "Gets 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": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "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": "Gets a watchlist, without its watchlist items.", + "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": { + "Creates or updates a watchlist item.": { + "$ref": "./examples/watchlists/CreateWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Creates or updates 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 filename of the watchlist, called 'source'", + "type": "string" + }, + "sourceType": { + "description": "The sourceType of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "sourceType" + } + }, + "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/tsv content to skip before the header", + "type": "integer", + "format": "int32" + }, + "rawContent": { + "description": "The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint", + "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. Example : text/csv or text/tsv ", + "type": "string" + }, + "uploadStatus": { + "description": "The status of the Watchlist upload : New, InProgress or Complete. Pls note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted", + "type": "string" + } + }, + "required": [ + "displayName", + "provider", + "itemsSearchKey" + ], + "type": "object" + }, + "WatchlistItemList": { + "description": "List all the watchlist items.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlist item.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" + } + }, + "type": "object", + "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" + }, + "itemsKeyValue": { + "description": "key-value pairs for a watchlist item", + "type": "object", + "additionalProperties": {} + }, + "entityMapping": { + "description": "key-value pairs for a watchlist item entity mapping", + "type": "object", + "additionalProperties": {} + } + }, + "required": [ + "itemsKeyValue" + ], + "type": "object" + } + }, + "parameters": { + "WatchlistAlias": { + "description": "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": "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/preview/2023-07-01-preview/WorkspaceManagerAssignments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerAssignments.json new file mode 100644 index 000000000000..32f7567795a5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerAssignments.json @@ -0,0 +1,737 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments": { + "get": { + "x-ms-examples": { + "Get all workspace manager assignments for the Sentinel workspace manager.": { + "$ref": "./examples/workspaceManagerAssignments/GetAllWorkspaceManagerAssignments.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Get all workspace manager assignments for the Sentinel workspace manager.", + "operationId": "WorkspaceManagerAssignments_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/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}": { + "get": { + "x-ms-examples": { + "Get a workspace manager assignment": { + "$ref": "./examples/workspaceManagerAssignments/GetWorkspaceManagerAssignment.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Gets a workspace manager assignment", + "operationId": "WorkspaceManagerAssignments_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/WorkspaceManagerAssignmentName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a workspace manager assignment.": { + "$ref": "./examples/workspaceManagerAssignments/CreateOrUpdateWorkspaceManagerAssignment.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Creates or updates a workspace manager assignment.", + "operationId": "WorkspaceManagerAssignments_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/WorkspaceManagerAssignmentName" + }, + { + "$ref": "#/parameters/WorkspaceManagerAssignment" + } + ], + "responses": { + "200": { + "description": "OK, created or updated an instance", + "schema": { + "$ref": "#/definitions/WorkspaceManagerAssignment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WorkspaceManagerAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace manager assignment.": { + "$ref": "./examples/workspaceManagerAssignments/DeleteWorkspaceManagerAssignment.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Deletes a workspace manager assignment", + "operationId": "WorkspaceManagerAssignments_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/WorkspaceManagerAssignmentName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs": { + "get": { + "x-ms-examples": { + "Get all jobs for the specified Sentinel workspace manager assignment.": { + "$ref": "./examples/workspaceManagerAssignments/GetAllJobs.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Get all jobs for the specified workspace manager assignment", + "operationId": "WorkspaceManagerAssignmentJobs_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/WorkspaceManagerAssignmentName" + }, + { + "$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/JobList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + }, + "post": { + "x-ms-examples": { + "Creates a job for the specified workspace manager assignment": { + "$ref": "./examples/workspaceManagerAssignments/CreateJob.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Create a job for the specified workspace manager assignment", + "operationId": "WorkspaceManagerAssignmentJobs_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/WorkspaceManagerAssignmentName" + } + ], + "responses": { + "200": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/{workspaceManagerAssignmentName}/jobs/{jobName}": { + "get": { + "x-ms-examples": { + "Get a workspace manager job": { + "$ref": "./examples/workspaceManagerAssignments/GetJob.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Gets a job", + "operationId": "WorkspaceManagerAssignmentJobs_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/WorkspaceManagerAssignmentName" + }, + { + "$ref": "#/parameters/JobName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace manager job.": { + "$ref": "./examples/workspaceManagerAssignments/DeleteJob.json" + } + }, + "tags": [ + "workspaceManagerAssignments" + ], + "description": "Deletes the specified job from the specified workspace manager assignment", + "operationId": "WorkspaceManagerAssignmentJobs_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/WorkspaceManagerAssignmentName" + }, + { + "$ref": "#/parameters/JobName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "WorkspaceManagerAssignment": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The workspace manager assignment", + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceManagerAssignmentProperties", + "description": "The workspace manager assignment object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WorkspaceManagerAssignmentProperties": { + "description": "The workspace manager assignment properties", + "properties": { + "targetResourceName": { + "description": "The resource name of the workspace manager group targeted by the workspace manager assignment", + "type": "string" + }, + "lastJobEndTime": { + "description": "The time the last job associated to this assignment ended at", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastJobProvisioningState": { + "description": "State of the last job associated to this assignment", + "enum": [ + "Succeeded", + "InProgress", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "provisioningState", + "values": [ + { + "description": "The job succeeded", + "value": "Succeeded" + }, + { + "description": "The job was canceled", + "value": "Canceled" + }, + { + "description": "The job is in progress", + "value": "InProgress" + }, + { + "description": "The job failed", + "value": "Failed" + } + ] + } + }, + "items": { + "description": "List of resources included in this workspace manager assignment", + "items": { + "$ref": "#/definitions/assignmentItem" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "targetResourceName", + "items" + ], + "type": "object" + }, + "assignmentItem": { + "description": "An entity describing a content item.", + "properties": { + "resourceId": { + "description": "The resource id of the content item", + "type": "string" + } + }, + "type": "object" + }, + "WorkspaceManagerAssignmentList": { + "description": "List of all the workspace manager assignments.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of workspace manager assignments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of workspace manager assignments.", + "items": { + "$ref": "#/definitions/WorkspaceManagerAssignment" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Job": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "The assignment job", + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The job object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "JobProperties": { + "description": "The job properties", + "properties": { + "endTime": { + "description": "The time the job completed", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "items": { + "description": "List of items published by the job", + "items": { + "$ref": "#/definitions/jobItem" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "provisioningState": { + "description": "State of the job", + "enum": [ + "Succeeded", + "InProgress", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "provisioningState", + "values": [ + { + "description": "The job succeeded", + "value": "Succeeded" + }, + { + "description": "The job was canceled", + "value": "Canceled" + }, + { + "description": "The job is in progress", + "value": "InProgress" + }, + { + "description": "The job failed", + "value": "Failed" + } + ] + } + }, + "startTime": { + "description": "The time the job started", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Message to describe error, if an error exists", + "type": "string", + "readOnly": true + } + }, + "type": "object" + }, + "jobItem": { + "description": "An entity describing the publish status of a content item.", + "properties": { + "resourceId": { + "description": "The resource id of the content item", + "type": "string" + }, + "status": { + "description": "Status of the item publication", + "enum": [ + "Succeeded", + "Failed", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "status", + "values": [ + { + "description": "The item publication succeeded", + "value": "Succeeded" + }, + { + "description": "The item publication failed", + "value": "Failed" + }, + { + "description": "The item publication is in progress", + "value": "InProgress" + } + ] + } + }, + "executionTime": { + "description": "The time the item publishing was completed", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "errors": { + "description": "The list of error descriptions if the item publication fails.", + "items": { + "$ref": "#/definitions/error" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "error": { + "description": "The error description for why a publication failed", + "type": "object", + "properties": { + "memberResourceName": { + "description": "The member resource name for which the publication error occured", + "type": "string" + }, + "errorMessage": { + "description": "The error message", + "type": "string" + } + }, + "required": [ + "memberResourceName", + "errorMessage" + ] + }, + "JobList": { + "description": "List of all the jobs", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of jobs.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of jobs.", + "items": { + "$ref": "#/definitions/Job" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + } + }, + "parameters": { + "WorkspaceManagerAssignmentName": { + "description": "The name of the workspace manager assignment", + "in": "path", + "name": "workspaceManagerAssignmentName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + }, + "WorkspaceManagerAssignment": { + "description": "The workspace manager assignment", + "in": "body", + "name": "workspaceManagerAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceManagerAssignment" + }, + "x-ms-parameter-location": "method" + }, + "JobName": { + "description": "The job name", + "in": "path", + "name": "jobName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerConfigurations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerConfigurations.json new file mode 100644 index 000000000000..694f552a5e2e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerConfigurations.json @@ -0,0 +1,323 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations": { + "get": { + "x-ms-examples": { + "Get all workspace manager configurations for a Sentinel workspace.": { + "$ref": "./examples/workspaceManagerConfigurations/GetAllWorkspaceManagerConfigurations.json" + } + }, + "tags": [ + "workspaceManagerConfigurations" + ], + "description": "Gets all workspace manager configurations for a Sentinel workspace.", + "operationId": "WorkspaceManagerConfigurations_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/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/{workspaceManagerConfigurationName}": { + "get": { + "x-ms-examples": { + "Get a workspace manager configuration.": { + "$ref": "./examples/workspaceManagerConfigurations/GetWorkspaceManagerConfiguration.json" + } + }, + "tags": [ + "workspaceManagerConfigurations" + ], + "description": "Gets a workspace manager configuration", + "operationId": "WorkspaceManagerConfigurations_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/WorkspaceManagerConfigurationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace manager configuration.": { + "$ref": "./examples/workspaceManagerConfigurations/DeleteWorkspaceManagerConfiguration.json" + } + }, + "tags": [ + "workspaceManagerConfigurations" + ], + "description": "Deletes a workspace manager configuration", + "operationId": "WorkspaceManagerConfigurations_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/WorkspaceManagerConfigurationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or Update a workspace manager Configuration": { + "$ref": "./examples/workspaceManagerConfigurations/CreateOrUpdateWorkspaceManagerConfiguration.json" + } + }, + "tags": [ + "workspaceManagerConfigurations" + ], + "description": "Creates or updates a workspace manager configuration.", + "operationId": "WorkspaceManagerConfigurations_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/WorkspaceManagerConfigurationName" + }, + { + "$ref": "#/parameters/WorkspaceManagerConfiguration" + } + ], + "responses": { + "200": { + "description": "OK, created or updated an instance", + "schema": { + "$ref": "#/definitions/WorkspaceManagerConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WorkspaceManagerConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "WorkspaceManagerConfiguration": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The workspace manager configuration", + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceManagerConfigurationProperties", + "description": "The workspace manager configuration object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WorkspaceManagerConfigurationProperties": { + "description": "The workspace manager configuration properties", + "properties": { + "mode": { + "description": "The current mode of the workspace manager configuration", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "mode", + "values": [ + { + "description": "The workspace manager configuration is enabled", + "value": "Enabled" + }, + { + "description": "The workspace manager configuration is disabled", + "value": "Disabled" + } + ] + } + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + "WorkspaceManagerConfigurationList": { + "description": "List all the workspace manager configurations for the workspace.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of workspace manager configurations.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of workspace manager configurations.", + "items": { + "$ref": "#/definitions/WorkspaceManagerConfiguration" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + } + }, + "parameters": { + "WorkspaceManagerConfigurationName": { + "description": "The name of the workspace manager configuration", + "in": "path", + "name": "workspaceManagerConfigurationName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + }, + "WorkspaceManagerConfiguration": { + "description": "The workspace manager configuration", + "in": "body", + "name": "workspaceManagerConfiguration", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceManagerConfiguration" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerGroups.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerGroups.json new file mode 100644 index 000000000000..46239cccb419 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerGroups.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups": { + "get": { + "x-ms-examples": { + "Get all workspace manager groups in the Sentinel workspace manager.": { + "$ref": "./examples/workspaceManagerGroups/GetAllWorkspaceManagerGroups.json" + } + }, + "tags": [ + "workspaceManagerGroups" + ], + "description": "Gets all workspace manager groups in the Sentinel workspace manager", + "operationId": "WorkspaceManagerGroups_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/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerGroupList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerGroups/{workspaceManagerGroupName}": { + "get": { + "x-ms-examples": { + "Get a workspace manager group": { + "$ref": "./examples/workspaceManagerGroups/GetWorkspaceManagerGroup.json" + } + }, + "tags": [ + "workspaceManagerGroups" + ], + "description": "Gets a workspace manager group", + "operationId": "WorkspaceManagerGroups_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/WorkspaceManagerGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a workspace manager group.": { + "$ref": "./examples/workspaceManagerGroups/CreateOrUpdateWorkspaceManagerGroup.json" + } + }, + "tags": [ + "workspaceManagerGroups" + ], + "description": "Creates or updates a workspace manager group.", + "operationId": "WorkspaceManagerGroups_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/WorkspaceManagerGroupName" + }, + { + "$ref": "#/parameters/WorkspaceManagerGroup" + } + ], + "responses": { + "200": { + "description": "OK, created or updated an instance", + "schema": { + "$ref": "#/definitions/WorkspaceManagerGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WorkspaceManagerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace manager group.": { + "$ref": "./examples/workspaceManagerGroups/DeleteWorkspaceManagerGroup.json" + } + }, + "tags": [ + "workspaceManagerGroups" + ], + "description": "Deletes a workspace manager group", + "operationId": "WorkspaceManagerGroups_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/WorkspaceManagerGroupName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "WorkspaceManagerGroup": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The workspace manager group", + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceManagerGroupProperties", + "description": "The workspace manager group object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WorkspaceManagerGroupProperties": { + "description": "The workspace manager group properties", + "properties": { + "description": { + "description": "The description of the workspace manager group", + "type": "string" + }, + "displayName": { + "description": "The display name of the workspace manager group", + "type": "string" + }, + "memberResourceNames": { + "description": "The names of the workspace manager members participating in this group.", + "items": { + "description": "memberResourceName", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "displayName", + "memberResourceNames" + ], + "type": "object" + }, + "WorkspaceManagerGroupList": { + "description": "List of all the workspace manager groups.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of workspace manager groups.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of workspace manager groups.", + "items": { + "$ref": "#/definitions/WorkspaceManagerGroup" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + } + }, + "parameters": { + "WorkspaceManagerGroupName": { + "description": "The name of the workspace manager group", + "in": "path", + "name": "workspaceManagerGroupName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + }, + "WorkspaceManagerGroup": { + "description": "The workspace manager group object", + "in": "body", + "name": "workspaceManagerGroup", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceManagerGroup" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerMembers.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerMembers.json new file mode 100644 index 000000000000..753c9a956845 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerMembers.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/": { + "get": { + "x-ms-examples": { + "Get all workspace manager members": { + "$ref": "./examples/workspaceManagerMembers/GetAllWorkspaceManagerMembers.json" + } + }, + "tags": [ + "workspaceManagerMember" + ], + "description": "Gets all workspace manager members that exist for the given Sentinel workspace manager", + "operationId": "WorkspaceManagerMembers_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/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerMembersList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/workspaceManagerMembers/{workspaceManagerMemberName}": { + "get": { + "x-ms-examples": { + "Get a workspace manager member": { + "$ref": "./examples/workspaceManagerMembers/GetWorkspaceManagerMember.json" + } + }, + "tags": [ + "workspaceManagerMember" + ], + "description": "Gets a workspace manager member", + "operationId": "WorkspaceManagerMembers_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/WorkspaceManagerMemberName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceManagerMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or Update a workspace manager member": { + "$ref": "./examples/workspaceManagerMembers/CreateOrUpdateWorkspaceManagerMember.json" + } + }, + "tags": [ + "workspaceManagerMember" + ], + "description": "Creates or updates a workspace manager member", + "operationId": "WorkspaceManagerMembers_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/WorkspaceManagerMemberName" + }, + { + "$ref": "#/parameters/WorkspaceManagerMember" + } + ], + "responses": { + "200": { + "description": "OK, created or updated an instance", + "schema": { + "$ref": "#/definitions/WorkspaceManagerMember" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WorkspaceManagerMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace manager member": { + "$ref": "./examples/workspaceManagerMembers/DeleteWorkspaceManagerMember.json" + } + }, + "tags": [ + "workspaceManagerMember" + ], + "description": "Deletes a workspace manager member", + "operationId": "WorkspaceManagerMembers_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/WorkspaceManagerMemberName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "WorkspaceManagerMemberProperties": { + "description": "The workspace manager member properties", + "properties": { + "targetWorkspaceId": { + "description": "Fully qualified resource ID of the target Sentinel workspace joining the given Sentinel workspace manager", + "type": "string" + }, + "targetWorkspaceTenantId": { + "description": "Tenant id of the target Sentinel workspace joining the given Sentinel workspace manager", + "type": "string" + } + }, + "required": [ + "targetWorkspaceId", + "targetWorkspaceTenantId" + ], + "type": "object" + }, + "WorkspaceManagerMember": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The workspace manager member", + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceManagerMemberProperties", + "description": "The workspace manager member object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WorkspaceManagerMembersList": { + "description": "List of workspace manager members", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of workspace manager members", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of workspace manager members", + "items": { + "$ref": "#/definitions/WorkspaceManagerMember" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + } + }, + "parameters": { + "WorkspaceManagerMemberName": { + "description": "The name of the workspace manager member", + "in": "path", + "name": "workspaceManagerMemberName", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "x-ms-parameter-location": "method" + }, + "WorkspaceManagerMember": { + "description": "The workspace manager member object", + "in": "body", + "name": "workspaceManagerMember", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceManagerMember" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/AlertTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/AlertTypes.json new file mode 100644 index 000000000000..7319a978f0f9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/AlertTypes.json @@ -0,0 +1,81 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "title": "Common Alert types" + }, + "paths": {}, + "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" + } + } + }, + "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/preview/2023-07-01-preview/common/ContentCommonTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/ContentCommonTypes.json new file mode 100644 index 000000000000..c4c5933b3203 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/ContentCommonTypes.json @@ -0,0 +1,637 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "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" + } + } + }, + "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." + }, + "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/preview/2023-07-01-preview/common/EntityTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/EntityTypes.json new file mode 100644 index 000000000000..871bf5993dd0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/EntityTypes.json @@ -0,0 +1,2550 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "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" + ] + }, + "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" + }, + "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", + "Nic" + ], + "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" + }, + { + "description": "Entity represents network interface in the system.", + "value": "Nic" + } + ] + } + }, + "EntityInnerType": { + "description": "The type of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DNS", + "FileHash", + "IP", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "IoTDevice", + "SecurityAlert", + "HuntingBookmark", + "MailCluster", + "MailMessage", + "Mailbox", + "SubmissionMail", + "Nic" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityType", + "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 in the system.", + "value": "DNS" + }, + { + "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 HuntingBookmark in the system.", + "value": "HuntingBookmark" + }, + { + "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" + }, + { + "description": "Entity represents network interface in the system.", + "value": "Nic" + } + ] + } + }, + "EntityQueryKind": { + "description": "The kind of the entity query", + "enum": [ + "Expansion", + "Insight", + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryKind", + "values": [ + { + "value": "Expansion" + }, + { + "value": "Insight" + }, + { + "value": "Activity" + } + ] + } + }, + "ExpansionResultAggregation": { + "description": "Information of a specific aggregation in the expansion result.", + "properties": { + "aggregationType": { + "description": "The common type of the aggregation. (for e.g. entity field name)", + "type": "string" + }, + "count": { + "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", + "type": "integer", + "format": "int32" + }, + "displayName": { + "description": "The display name of the aggregation by type.", + "type": "string" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "ExpansionResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "aggregations": { + "description": "Information of the aggregated nodes in the expansion result.", + "items": { + "$ref": "#/definitions/ExpansionResultAggregation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "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" + }, + "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": "ThreatIntelligenceTypes.json#/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": [] + }, + "owners": { + "description": "A list of owners of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "nicEntityIds": { + "description": "A list of Nic entity ids of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "site": { + "description": "The site of the device", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "The zone location of the device within a site", + "readOnly": true, + "type": "string" + }, + "sensor": { + "description": "The sensor the device is monitored by", + "readOnly": true, + "type": "string" + }, + "deviceSubType": { + "description": "The subType of the device ('PLC', 'HMI', 'EWS', etc.)", + "readOnly": true, + "type": "string" + }, + "importance": { + "description": "Device importance, determines if the device classified as 'crown jewel'", + "enum": [ + "Unknown", + "Low", + "Normal", + "High" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeviceImportance", + "values": [ + { + "description": "Unknown - Default value", + "value": "Unknown" + }, + { + "description": "Low", + "value": "Low" + }, + { + "description": "Normal", + "value": "Normal" + }, + { + "description": "High", + "value": "High" + } + ] + } + }, + "purdueLayer": { + "description": "The Purdue Layer of the device", + "readOnly": true, + "type": "string" + }, + "isAuthorized": { + "description": "Determines whether the device classified as authorized device", + "readOnly": true, + "type": "boolean" + }, + "isProgramming": { + "description": "Determines whether the device classified as programming device", + "readOnly": true, + "type": "boolean" + }, + "isScanner": { + "description": "Is the device classified as a scanner device", + "readOnly": true, + "type": "boolean" + } + }, + "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": "ThreatIntelligenceTypes.json#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "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 latitude of the identified location, expressed as a floating point number with range of - 90 to 90. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180. 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" + }, + "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 navigate 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", + "type": "string" + }, + "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" + }, + "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" + }, + "NicEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an network interface entity.", + "properties": { + "properties": { + "$ref": "#/definitions/NicEntityProperties", + "description": "Network interface entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Nic" + }, + "NicEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Nic entity property bag.", + "properties": { + "macAddress": { + "description": "The MAC address of this network interface", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityId": { + "description": "The IP entity id of this network interface", + "readOnly": true, + "type": "string" + }, + "vlans": { + "description": "A list of VLANs of the network interface entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/IncidentTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/IncidentTypes.json new file mode 100644 index 000000000000..ce5285caf919 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/IncidentTypes.json @@ -0,0 +1,246 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/common/RelationTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/RelationTypes.json new file mode 100644 index 000000000000..5eade8c2923c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/RelationTypes.json @@ -0,0 +1,95 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "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", + "items": { + "$ref": "#/definitions/Relation" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "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 + } + } + }, + "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" + } + }, + "parameters": { + "RelationName": { + "name": "relationName", + "in": "path", + "required": true, + "type": "string", + "description": "Relation Name", + "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" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/ThreatIntelligenceTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/ThreatIntelligenceTypes.json new file mode 100644 index 000000000000..58853505f7a6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/common/ThreatIntelligenceTypes.json @@ -0,0 +1,48 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "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" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectorDefinitions.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectorDefinitions.json new file mode 100644 index 000000000000..1861d38e156e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectorDefinitions.json @@ -0,0 +1,737 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions": { + "get": { + "x-ms-examples": { + "Get all data connector definitions.": { + "$ref": "./examples/dataConnectorDefinitions/GetDataConnectorDefinitions.json" + } + }, + "tags": [ + "ConnectorDefinitions" + ], + "description": "Gets all data connector definitions.", + "operationId": "DataConnectorDefinitions_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataConnectorDefinitionArmCollectionWrapper" + } + }, + "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/dataConnectorDefinitions/{dataConnectorDefinitionName}": { + "get": { + "x-ms-examples": { + "Get customize data connector definition": { + "$ref": "./examples/dataConnectorDefinitions/GetCustomizableDataConnectoeDefinitionById.json" + } + }, + "tags": [ + "ConnectorDefinitions" + ], + "description": "Gets a data connector definition.", + "operationId": "DataConnectorDefinitions_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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/dataConnectorDefinitionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DataConnectorDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create data connector definition": { + "$ref": "./examples/dataConnectorDefinitions/CreateCustomizableDataConnectorDefinition.json" + } + }, + "tags": [ + "ConnectorDefinitions" + ], + "description": "Creates or updates the data connector definition.", + "operationId": "DataConnectorDefinitions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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/dataConnectorDefinitionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "connectorDefinitionInput", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorDefinition" + }, + "description": "The data connector definition", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/DataConnectorDefinition" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataConnectorDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete data connector definition": { + "$ref": "./examples/dataConnectorDefinitions/DeleteDataConnectorDefinitionById.json" + } + }, + "tags": [ + "ConnectorDefinitions" + ], + "description": "Delete the data connector definition.", + "operationId": "DataConnectorDefinitions_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$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/dataConnectorDefinitionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ConnectorDefinitionsAvailability": { + "description": "The exposure status of the connector to the customers.", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/AvailabilityStatus" + }, + "isPreview": { + "description": "Gets or sets a value indicating whether the connector is preview.", + "type": "boolean" + } + } + }, + "AvailabilityStatus": { + "description": "The exposure status of the connector to the customers. Available values are 0-4 (0=None, 1=Available, 2=FeatureFlag, 3=Internal).", + "type": "integer", + "format": "int32" + }, + "ConnectivityCriterion": { + "description": "The criteria by which we determine whether the connector is connected or not.\r\nFor Example, use a KQL query to check if the expected data type is flowing).", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "Gets or sets the type of connectivity.", + "type": "string" + }, + "value": { + "description": "Gets or sets the queries for checking connectivity.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ConnectorDataType": { + "description": "The data type which is created by the connector,\r\nincluding a query indicated when was the last time that data type was received in the workspace.", + "required": [ + "lastDataReceivedQuery", + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the name of the data type to show in the graph.", + "type": "string" + }, + "lastDataReceivedQuery": { + "description": "Gets or sets the query to indicate when relevant data was last received in the workspace.", + "type": "string" + } + } + }, + "DataConnectorDefinition": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "required": [ + "kind" + ], + "description": "An Azure resource, which encapsulate the entire info requires to display a data connector page in Azure portal,\r\nand the info required to define data connections.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorDefinitionKind", + "description": "The data connector kind", + "type": "string" + } + }, + "discriminator": "kind" + }, + "DataConnectorDefinitionKind": { + "description": "The kind of the data connector definitions", + "enum": [ + "Customizable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorDefinitionKind", + "values": [ + { + "value": "Customizable" + } + ] + } + }, + "DataConnectorDefinitionArmCollectionWrapper": { + "type": "object", + "description": "Encapsulate the data connector definition object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnectorDefinition" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "CustomizableConnectorDefinition": { + "description": "Connector definition for kind 'Customizable'.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDefinition" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomizableConnectorDefinitionProperties", + "description": "Customizable properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Customizable" + }, + "CustomizableConnectorDefinitionProperties": { + "description": "The UiConfig for 'Customizable' connector definition kind.", + "type": "object", + "required": [ + "connectorUiConfig" + ], + "properties": { + "createdTimeUtc": { + "format": "date-time", + "description": "Gets or sets the connector definition created date in UTC format.", + "type": "string" + }, + "lastModifiedUtc": { + "format": "date-time", + "description": "Gets or sets the connector definition last modified date in UTC format.", + "type": "string" + }, + "connectorUiConfig": { + "$ref": "#/definitions/CustomizableConnectorUiConfig" + }, + "connectionsConfig": { + "$ref": "#/definitions/CustomizableConnectionsConfig" + } + } + }, + "CustomizableConnectionsConfig": { + "description": "The UiConfig for 'Customizable' connector definition kind.", + "required": [ + "templateSpecVersion", + "templateSpecName" + ], + "type": "object", + "properties": { + "templateSpecName": { + "description": "Gets or sets the template name. The template includes ARM templates that can be created by the connector, usually it will be the dataConnectors ARM templates.", + "type": "string" + }, + "templateSpecVersion": { + "description": "Gets or sets the template version.", + "type": "string" + } + } + }, + "CustomizableConnectorUiConfig": { + "description": "The UiConfig for 'Customizable' connector definition kind.", + "required": [ + "dataTypes", + "descriptionMarkdown", + "graphQueries", + "instructionSteps", + "permissions", + "publisher", + "sampleQueries", + "title", + "connectivityCriteria" + ], + "type": "object", + "properties": { + "id": { + "description": "Gets or sets custom connector id. optional field.", + "type": "string" + }, + "title": { + "description": "Gets or sets the connector blade title.", + "type": "string" + }, + "publisher": { + "description": "Gets or sets the connector publisher name.", + "type": "string" + }, + "descriptionMarkdown": { + "description": "Gets or sets the connector description in markdown format.", + "type": "string" + }, + "graphQueriesTableName": { + "description": "Gets or sets the name of the table the connector will insert the data to.\r\nThis name can be used in other queries by specifying {{graphQueriesTableName}} placeholder\r\n in Query and LastDataReceivedQuery values.", + "type": "string" + }, + "graphQueries": { + "description": "Gets or sets the graph queries to show the current data volume over time.", + "type": "array", + "items": { + "$ref": "#/definitions/GraphQuery" + }, + "x-ms-identifiers": [] + }, + "sampleQueries": { + "description": "Gets or sets the sample queries for the connector.", + "type": "array", + "items": { + "$ref": "#/definitions/SampleQuery" + }, + "x-ms-identifiers": [] + }, + "dataTypes": { + "description": "Gets or sets the data types to check for last data received.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectorDataType" + }, + "x-ms-identifiers": [] + }, + "connectivityCriteria": { + "description": "Gets or sets the way the connector checks whether the connector is connected.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityCriterion" + }, + "x-ms-identifiers": [] + }, + "availability": { + "$ref": "#/definitions/ConnectorDefinitionsAvailability" + }, + "permissions": { + "$ref": "#/definitions/ConnectorDefinitionsPermissions" + }, + "instructionSteps": { + "description": "Gets or sets the instruction steps to enable the connector.", + "type": "array", + "items": { + "$ref": "#/definitions/InstructionStep" + }, + "x-ms-identifiers": [] + }, + "logo": { + "description": "Gets or sets the connector logo to be used when displaying the connector within Azure Sentinel's connector's gallery.\r\nThe logo value should be in SVG format.", + "type": "string" + }, + "isConnectivityCriteriasMatchSome": { + "description": "Gets or sets a value indicating whether to use 'OR'(SOME) or 'AND' between ConnectivityCriteria items.", + "type": "boolean" + } + } + }, + "CustomPermissionDetails": { + "description": "The Custom permissions required for the connector.", + "required": [ + "description", + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the custom permissions name.", + "type": "string" + }, + "description": { + "description": "Gets or sets the custom permissions description.", + "type": "string" + } + } + }, + "GraphQuery": { + "description": "The graph query to show the volume of data arriving into the workspace over time.", + "required": [ + "baseQuery", + "legend", + "metricName" + ], + "type": "object", + "properties": { + "metricName": { + "description": "Gets or sets the metric name that the query is checking. For example: 'Total data receive'.", + "type": "string" + }, + "legend": { + "description": "Gets or sets the legend for the graph.", + "type": "string" + }, + "baseQuery": { + "description": "Gets or sets the base query for the graph.\r\nThe base query is wrapped by Sentinel UI infra with a KQL query, that measures the volume over time.", + "type": "string" + } + } + }, + "InstructionStep": { + "description": "Instruction steps to enable the connector.", + "type": "object", + "properties": { + "title": { + "description": "Gets or sets the instruction step title.", + "type": "string" + }, + "description": { + "description": "Gets or sets the instruction step description.", + "type": "string" + }, + "instructions": { + "description": "Gets or sets the instruction step details.", + "type": "array", + "items": { + "$ref": "#/definitions/InstructionStepDetails" + }, + "x-ms-identifiers": [] + }, + "innerSteps": { + "description": "Gets or sets the inner instruction steps details.\r\nFoe Example: instruction step 1 might contain inner instruction steps: [instruction step 1.1, instruction step 1.2].", + "type": "array", + "items": { + "$ref": "#/definitions/InstructionStep" + }, + "x-ms-identifiers": [] + } + } + }, + "InstructionStepDetails": { + "description": "Instruction step details, to be displayed in the Instructions steps section in the connector's page in Sentinel Portal.", + "required": [ + "parameters", + "type" + ], + "type": "object", + "properties": { + "parameters": { + "description": "Gets or sets the instruction type parameters settings.", + "type": "object" + }, + "type": { + "description": "Gets or sets the instruction type name.", + "type": "string" + } + } + }, + "ConnectorDefinitionsPermissions": { + "description": "The required Permissions for the connector.", + "type": "object", + "properties": { + "tenant": { + "description": "Gets or sets the required tenant permissions for the connector.", + "type": "array", + "items": { + "type": "string" + } + }, + "licenses": { + "description": "Gets or sets the required licenses for the user to create connections.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceProvider": { + "description": "Gets or sets the resource provider permissions required for the user to create connections.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectorDefinitionsResourceProvider" + }, + "x-ms-identifiers": [] + }, + "customs": { + "description": "Gets or sets the customs permissions required for the user to create connections.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomPermissionDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "ProviderPermissionsScope": { + "description": "The scope on which the user should have permissions, in order to be able to create connections.", + "enum": [ + "Subscription", + "ResourceGroup", + "Workspace" + ], + "type": "string", + "example": "Subscription", + "x-ms-enum": { + "name": "ProviderPermissionsScope", + "modelAsString": true, + "values": [ + { + "value": "Subscription" + }, + { + "value": "ResourceGroup" + }, + { + "value": "Workspace" + } + ] + } + }, + "ConnectorDefinitionsResourceProvider": { + "description": "The resource provider details include the required permissions for the user to create connections.\r\nThe user should have the required permissions(Read\\Write, ..) in the specified scope ProviderPermissionsScope against the specified resource provider.", + "required": [ + "permissionsDisplayText", + "provider", + "providerDisplayName", + "requiredPermissions", + "scope" + ], + "type": "object", + "properties": { + "provider": { + "description": "Gets or sets the provider name.", + "type": "string" + }, + "permissionsDisplayText": { + "description": "Gets or sets the permissions description text.", + "type": "string" + }, + "providerDisplayName": { + "description": "Gets or sets the permissions provider display name.", + "type": "string" + }, + "scope": { + "$ref": "#/definitions/ProviderPermissionsScope" + }, + "requiredPermissions": { + "$ref": "#/definitions/ResourceProviderRequiredPermissions" + } + } + }, + "ResourceProviderRequiredPermissions": { + "description": "Required permissions for the connector resource provider that define in ResourceProviders.\r\nFor more information about the permissions see here.", + "type": "object", + "properties": { + "read": { + "description": "Gets or sets a value indicating whether the permission is read action (GET).", + "type": "boolean" + }, + "write": { + "description": "Gets or sets a value indicating whether the permission is write action (PUT or PATCH).", + "type": "boolean" + }, + "delete": { + "description": "Gets or sets a value indicating whether the permission is delete action (DELETE).", + "type": "boolean" + }, + "action": { + "description": "Gets or sets a value indicating whether the permission is custom actions (POST).", + "type": "boolean" + } + } + }, + "SampleQuery": { + "description": "The sample queries for the connector.", + "required": [ + "description", + "query" + ], + "type": "object", + "properties": { + "description": { + "description": "Gets or sets the sample query description.", + "type": "string" + }, + "query": { + "description": "Gets or sets the KQL sample query.", + "type": "string" + } + } + } + }, + "parameters": { + "dataConnectorDefinitionName": { + "in": "path", + "name": "dataConnectorDefinitionName", + "description": "The data connector definition name.", + "required": true, + "type": "string", + "pattern": "^[a-z0-9A-Z-_]*$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectors.json new file mode 100644 index 000000000000..d27a5c0307dc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectors.json @@ -0,0 +1,3118 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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.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 TI Taxii data connector.": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceTaxiiById.json" + }, + "Get a MCAS data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json" + }, + "Get a ASC data connector": { + "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json" + }, + "Get an AADIP (Azure Active Directory Identity Protection) data connector": { + "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json" + }, + "Get an AwsCloudTrail data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json" + }, + "Get an Aws S3 data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesS3ById.json" + }, + "Get an AATP data connector": { + "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json" + }, + "Get a MDATP data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + }, + "Get an Office ATP data connector": { + "$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json" + }, + "Get an Office IRM data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json" + }, + "Get an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/GetOffice365ProjectDataConnetorById.json" + }, + "Get a MicrosoftPurviewInformationProtection data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftPurviewInformationProtectionDataConnetorById.json" + }, + "Get an Office365 PowerBI data connector": { + "$ref": "./examples/dataConnectors/GetOfficePowerBIDataConnetorById.json" + }, + "Get a Dynamics365 data connector": { + "$ref": "./examples/dataConnectors/GetDynamics365DataConnectorById.json" + }, + "Get a MicrosoftThreatProtection data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatProtectionById.json" + }, + "Get a MicrosoftThreatIntelligence data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json" + }, + "Get a GenericUI data connector": { + "$ref": "./examples/dataConnectors/GetGenericUI.json" + }, + "Get a APIPolling data connector": { + "$ref": "./examples/dataConnectors/GetAPIPolling.json" + }, + "Get a IoT data connector": { + "$ref": "./examples/dataConnectors/GetIoTById.json" + }, + "Get a GCP data connector": { + "$ref": "./examples/dataConnectors/GetGoogleCloudPlatformById.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 Office365 Project data connector": { + "$ref": "./examples/dataConnectors/CreateOffice365ProjectDataConnetor.json" + }, + "Creates or updates an MicrosoftPurviewInformationProtection data connector": { + "$ref": "./examples/dataConnectors/CreateMicrosoftPurviewInformationProtectionDataConnetor.json" + }, + "Creates or updates a Microsoft Threat Intelligence data connector.": { + "$ref": "./examples/dataConnectors/CreateMicrosoftThreatIntelligenceDataConnector.json" + }, + "Creates or updates an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/CreateOfficePowerBIDataConnector.json" + }, + "Creates or updates a Threat Intelligence Taxii data connector.": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json" + }, + "Creates or updates an Threat Intelligence Platform data connector": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceDataConnector.json" + }, + "Creates or updates a Dynamics365 data connector.": { + "$ref": "./examples/dataConnectors/CreateDynamics365DataConnetor.json" + }, + "Creates or updates a GenericUI data connector": { + "$ref": "./examples/dataConnectors/CreateGenericUI.json" + }, + "Creates or updates a APIPolling data connector": { + "$ref": "./examples/dataConnectors/CreateAPIPolling.json" + }, + "Creates or updates a MicrosoftThreatProtection data connector": { + "$ref": "./examples/dataConnectors/CreateMicrosoftThreatProtectionDataConnetor.json" + }, + "Creates or updates a GCP data connector": { + "$ref": "./examples/dataConnectors/CreateGoogleCloudPlatform.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" + }, + "Delete an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json" + }, + "Delete an MicrosoftPurviewInformationProtection data connector": { + "$ref": "./examples/dataConnectors/DeleteMicrosoftPurviewInformationProtectionDataConnetor.json" + }, + "Delete an MicrosoftThreatIntelligence data connector": { + "$ref": "./examples/dataConnectors/DeleteMicrosoftThreatIntelligenceDataConnector.json" + }, + "Delete an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json" + }, + "Delete a GenericUI data connector": { + "$ref": "./examples/dataConnectors/DeleteGenericUI.json" + }, + "Delete a APIPolling data connector": { + "$ref": "./examples/dataConnectors/DeleteAPIPolling.json" + }, + "Delete a GCP data connector": { + "$ref": "./examples/dataConnectors/DeleteGoogleCloudPlatform.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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect": { + "post": { + "x-ms-examples": { + "Connect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/ConnectAPIPolling.json" + }, + "Connect an APIPolling V2 logs data connector": { + "$ref": "./examples/dataConnectors/ConnectAPIPollingV2Logs.json" + } + }, + "tags": [ + "Data Connectors Connect" + ], + "description": "Connects a data connector.", + "operationId": "DataConnectors_Connect", + "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/DataConnectorConnectBody" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "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/dataConnectors/{dataConnectorId}/disconnect": { + "post": { + "x-ms-examples": { + "Disconnect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/DisconnectAPIPolling.json" + } + }, + "tags": [ + "Data Connectors Disconnect" + ], + "description": "Disconnect a data connector.", + "operationId": "DataConnectors_Disconnect", + "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" + }, + "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/dataConnectorsCheckRequirements": { + "post": { + "x-ms-examples": { + "Check requirements for TI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligence.json" + }, + "Check requirements for TI Taxii.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json" + }, + "Check requirements for AADIP (Azure Active Directory Identity Protection).": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json" + }, + "Check requirements for AADIP (Azure Active Directory Identity Protection) - no license.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json" + }, + "Check requirements for AADIP (Azure Active Directory Identity Protection) - no authorization.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json" + }, + "Check requirements for ASC.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json" + }, + "Check requirements for Mcas.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json" + }, + "Check requirements for Mdatp.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json" + }, + "Check requirements for OfficeATP.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json" + }, + "Check requirements for OfficeIRM.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeIRM.json" + }, + "Check requirements for Office365Project.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOffice365Project.json" + }, + "Check requirements for MicrosoftPurviewInformationProtection.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftPurviewInformationProtection.json" + }, + "Check requirements for OfficePowerBI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficePowerBI.json" + }, + "Check requirements for Dynamics365.": { + "$ref": "./examples/dataConnectors/CheckRequirementsDynamics365.json" + }, + "Check requirements for MicrosoftThreatProtection.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json" + }, + "Check requirements for MicrosoftThreatIntelligence.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json" + }, + "Check requirements for IoT.": { + "$ref": "./examples/dataConnectors/CheckRequirementsIoT.json" + } + }, + "tags": [ + "Check Data Connector Requirements" + ], + "description": "Get requirements state for a data connector type.", + "operationId": "DataConnectorsCheckRequirements_Post", + "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/DataConnectorsCheckRequirementsBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DataConnectorRequirementsState" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AADIP (Azure Active Directory Identity Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AADCheckRequirementsProperties", + "description": "AADIP (Azure Active Directory Identity Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AADIP (Azure Active Directory Identity Protection) requirements check properties.", + "type": "object" + }, + "AATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPCheckRequirementsProperties", + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "ASCCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents ASC (Azure Security Center) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCCheckRequirementsProperties", + "description": "ASC (Azure Security Center) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCCheckRequirementsProperties": { + "description": "ASC (Azure Security Center) requirements check properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AwsCloudTrailCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services CloudTrail requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsS3CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services S3 requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "DataConnectorsCheckRequirements": { + "description": "Data connector requirements properties.", + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "Describes the kind of connector to be checked.", + "type": "string" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "DataConnectorAuthorizationState": { + "description": "Describes the state of user's authorization for a connector kind.", + "enum": [ + "Valid", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorAuthorizationState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + } + ] + } + }, + "DataConnectorLicenseState": { + "description": "Describes the state of user's license for a connector kind.", + "enum": [ + "Valid", + "Invalid", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorLicenseState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + }, + { + "value": "Unknown" + } + ] + } + }, + "DataConnectorRequirementsState": { + "description": "Data connector requirements status.", + "properties": { + "authorizationState": { + "description": "Authorization state for this connector", + "$ref": "#/definitions/DataConnectorAuthorizationState" + }, + "licenseState": { + "description": "License state for this connector", + "$ref": "#/definitions/DataConnectorLicenseState" + } + }, + "type": "object" + }, + "Dynamics365CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Dynamics365 requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365CheckRequirementsProperties", + "description": "Dynamics365 requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365CheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 requirements check properties.", + "type": "object" + }, + "MCASCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASCheckRequirementsProperties", + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "type": "object" + }, + "MDATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPCheckRequirementsProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "MSTICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Microsoft Threat Intelligence requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTICheckRequirementsProperties", + "description": "Microsoft Threat Intelligence requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence requirements check properties.", + "type": "object" + }, + "MtpCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPCheckRequirementsProperties", + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPCheckRequirementsProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeIRMCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMCheckRequirementsProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "type": "object" + }, + "MicrosoftPurviewInformationProtectionCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MicrosoftPurviewInformationProtection requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftPurviewInformationProtectionCheckRequirementsProperties", + "description": "MicrosoftPurviewInformationProtection requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftPurviewInformationProtection" + }, + "MicrosoftPurviewInformationProtectionCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MicrosoftPurviewInformationProtection requirements check properties.", + "type": "object" + }, + "Office365ProjectCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office365 Project requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectCheckRequirementsProperties", + "description": "Office365 Project requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office365 Project requirements check properties.", + "type": "object" + }, + "OfficePowerBICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office PowerBI requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBICheckRequirementsProperties", + "description": "Office Power BI requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office PowerBI requirements check properties.", + "type": "object" + }, + "TICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence Platforms data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TICheckRequirementsProperties", + "description": "Threat Intelligence Platforms data connector check required properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence Platforms data connector required properties.", + "properties": {}, + "type": "object" + }, + "TiTaxiiCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence TAXII data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", + "description": "Threat Intelligence TAXII check required properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector required properties.", + "type": "object" + }, + "IoTCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents IoT requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTCheckRequirementsProperties", + "description": "IoT requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IOT" + }, + "IoTCheckRequirementsProperties": { + "description": "IoT requirements check properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AADIP (Azure Active Directory Identity Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AADIP (Azure Active Directory Identity Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AADIP (Azure Active Directory Identity Protection) data connector properties.", + "type": "object" + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "alerts" + ] + }, + "MSTIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Microsoft Threat Intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTIDataConnectorProperties", + "description": "Microsoft Threat Intelligence data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTIDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Intelligence Platforms data connector.", + "properties": { + "microsoftEmergingThreatFeed": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "properties": { + "lookbackPeriod": { + "description": "The lookback period for the feed to be imported.", + "type": "string" + } + }, + "description": "Data type for Microsoft Threat Intelligence Platforms data connector.", + "type": "object", + "required": [ + "lookbackPeriod" + ] + } + }, + "type": "object", + "required": [ + "microsoftEmergingThreatFeed" + ] + }, + "MSTIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MSTIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "MTPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPDataConnectorProperties", + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Protection Platforms data connector.", + "properties": { + "incidents": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Incidents data type for Microsoft Threat Protection Platforms data connector.", + "type": "object" + }, + "alerts": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Alerts data type for Microsoft Threat Protection Platforms data connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "incidents" + ] + }, + "MtpProvider": { + "description": "The available data providers.", + "enum": [ + "microsoftDefenderForCloudApps", + "microsoftDefenderForIdentity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MtpProvider" + } + }, + "MtpFilteredProviders": { + "description": "Represents the connector's Filtered providers", + "properties": { + "alerts": { + "description": "Alerts filtered providers. When filters are not applied, all alerts will stream through the MTP pipeline, still in private preview for all products EXCEPT MDA and MDI, which are in GA state.", + "items": { + "$ref": "#/definitions/MtpProvider" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "alerts" + ] + }, + "MTPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MTPDataConnectorDataTypes", + "description": "The available data types for the connector." + }, + "filteredProviders": { + "$ref": "#/definitions/MtpFilteredProviders", + "description": "The available filtered providers for the connector." + } + }, + "required": [ + "dataTypes" + ], + "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": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "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" + }, + "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", + "required": [ + "logs" + ] + }, + "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", + "required": [ + "dataTypes" + ] + }, + "AwsS3DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services S3 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsS3DataConnectorProperties", + "description": "Amazon Web Services S3 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "AwsS3DataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services S3 data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "AwsS3DataConnectorProperties": { + "description": "Amazon Web Services S3 data connector properties.", + "properties": { + "destinationTable": { + "description": "The logs destination table name in LogAnalytics.", + "type": "string" + }, + "sqsUrls": { + "description": "The AWS sqs urls for the connector.", + "x-ms-identifiers": [], + "type": "array", + "items": { + "description": "AWS sqs url.", + "type": "string" + } + }, + "roleArn": { + "description": "The Aws Role Arn that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsS3DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "destinationTable", + "sqsUrls", + "roleArn", + "dataTypes" + ] + }, + "GCPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Google Cloud Platform data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/GCPDataConnectorProperties", + "description": "Google Cloud Platform data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "GCP" + }, + "GCPDataConnectorProperties": { + "description": "Google Cloud Platform data connector properties.", + "properties": { + "connectorDefinitionName": { + "description": "The name of the connector definition that represents the UI config.", + "type": "string" + }, + "auth": { + "$ref": "#/definitions/GCPAuthProperties", + "description": "The auth section of the connector." + }, + "request": { + "$ref": "#/definitions/GCPRequestProperties", + "description": "The request section of the connector." + }, + "dcrConfig": { + "$ref": "#/definitions/DCRConfiguration", + "description": "The configuration of the destination of the data." + } + }, + "type": "object", + "required": [ + "connectorDefinitionName", + "auth", + "request" + ] + }, + "GCPAuthProperties": { + "description": "Google Cloud Platform auth section properties.", + "properties": { + "serviceAccountEmail": { + "description": "The service account that is used to access the GCP project.", + "type": "string" + }, + "projectNumber": { + "description": "The GCP project number.", + "type": "string" + }, + "workloadIdentityProviderId": { + "description": "The workload identity provider id that is used to gain access to the GCP project.", + "type": "string" + } + }, + "type": "object", + "required": [ + "serviceAccountEmail", + "projectNumber", + "workloadIdentityProviderId" + ] + }, + "GCPRequestProperties": { + "description": "Google Cloud Platform request section properties.", + "properties": { + "projectId": { + "description": "The GCP project id.", + "type": "string" + }, + "subscriptionNames": { + "description": "The GCP pub/sub subscription names.", + "x-ms-identifiers": [], + "type": "array", + "items": { + "description": "GCP pub/sub subscription name.", + "type": "string" + } + } + }, + "type": "object", + "required": [ + "projectId", + "subscriptionNames" + ] + }, + "DCRConfiguration": { + "description": "The configuration of the destination of the data.", + "properties": { + "dataCollectionEndpoint": { + "description": "Represents the data collection ingestion endpoint in log analytics.", + "type": "string" + }, + "dataCollectionRuleImmutableId": { + "description": "The data collection rule immutable id, the rule defines the transformation and data destination.", + "type": "string" + }, + "streamName": { + "description": "The stream we are sending the data to.", + "type": "string" + } + }, + "type": "object", + "required": [ + "dataCollectionEndpoint", + "dataCollectionRuleImmutableId", + "streamName" + ] + }, + "DataConnector": { + "description": "Data connector", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind", + "type": "string" + } + }, + "type": "object" + }, + "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", + "required": [ + "state" + ] + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "ThreatIntelligenceTaxii", + "Office365", + "OfficeATP", + "OfficeIRM", + "Office365Project", + "MicrosoftPurviewInformationProtection", + "OfficePowerBI", + "AmazonWebServicesCloudTrail", + "AmazonWebServicesS3", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection", + "Dynamics365", + "MicrosoftThreatProtection", + "MicrosoftThreatIntelligence", + "GenericUI", + "APIPolling", + "IOT", + "GCP" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "ThreatIntelligenceTaxii" + }, + { + "value": "Office365" + }, + { + "value": "OfficeATP" + }, + { + "value": "OfficeIRM" + }, + { + "value": "Office365Project" + }, + { + "value": "MicrosoftPurviewInformationProtection" + }, + { + "value": "OfficePowerBI" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AmazonWebServicesS3" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + }, + { + "value": "Dynamics365" + }, + { + "value": "MicrosoftThreatProtection" + }, + { + "value": "MicrosoftThreatIntelligence" + }, + { + "value": "GenericUI" + }, + { + "value": "APIPolling" + }, + { + "value": "IOT" + }, + { + "value": "GCP" + } + ] + } + }, + "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" + ] + }, + "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", + "required": [ + "tenantId" + ] + }, + "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": { + "discoveryLogs": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "Dynamics365DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Dynamics365 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365DataConnectorProperties", + "description": "Dynamics365 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365DataConnectorDataTypes": { + "description": "The available data types for Dynamics365 data connector.", + "properties": { + "dynamics365CdsActivities": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Common Data Service data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "dynamics365CdsActivities" + ] + }, + "Dynamics365DataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Dynamics365DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "OfficeATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPDataConnectorProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "MicrosoftPurviewInformationProtectionDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Microsoft Purview Information Protection data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftPurviewInformationProtectionDataConnectorProperties", + "description": "Microsoft Purview Information Protection data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftPurviewInformationProtection" + }, + "MicrosoftPurviewInformationProtectionConnectorDataTypes": { + "description": "The available data types for Microsoft Purview Information Protection data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "MicrosoftPurviewInformationProtectionDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Purview Information Protection data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MicrosoftPurviewInformationProtectionConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "Office365ProjectDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft Project data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectDataConnectorProperties", + "description": "Office Microsoft Project data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectConnectorDataTypes": { + "description": "The available data types for Office Microsoft Project data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "Office365ProjectDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft Project data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Office365ProjectConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficePowerBIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft PowerBI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBIDataConnectorProperties", + "description": "Office Microsoft PowerBI data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBIConnectorDataTypes": { + "description": "The available data types for Office Microsoft PowerBI data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "OfficePowerBIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft PowerBI data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficePowerBIConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficeIRMDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMDataConnectorProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "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": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "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" + } + }, + "required": [ + "exchange", + "sharePoint", + "teams" + ], + "type": "object" + }, + "OfficeDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "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", + "required": [ + "indicators" + ] + }, + "TIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "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", + "required": [ + "dataTypes" + ] + }, + "TiTaxiiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Data connector to pull Threat intelligence data from TAXII 2.0/2.1 server", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiDataConnectorProperties", + "description": "Threat intelligence TAXII data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence TAXII data connector.", + "properties": { + "taxiiClient": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for TAXII connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "taxiiClient" + ] + }, + "TiTaxiiDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector properties.", + "properties": { + "workspaceId": { + "description": "The workspace id.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for the TAXII server.", + "type": "string" + }, + "taxiiServer": { + "description": "The API root for the TAXII server.", + "type": "string" + }, + "collectionId": { + "description": "The collection id of the TAXII server.", + "type": "string" + }, + "userName": { + "description": "The userName for the TAXII server.", + "type": "string" + }, + "password": { + "description": "The password for the TAXII server.", + "type": "string" + }, + "taxiiLookbackPeriod": { + "description": "The lookback period for the TAXII server.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "pollingFrequency": { + "description": "The polling frequency for the TAXII server.", + "type": "string", + "x-nullable": true, + "enum": [ + "OnceAMinute", + "OnceAnHour", + "OnceADay" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PollingFrequency", + "values": [ + { + "description": "Once a minute", + "value": "OnceAMinute" + }, + { + "description": "Once an hour", + "value": "OnceAnHour" + }, + { + "description": "Once a day", + "value": "OnceADay" + } + ] + } + }, + "dataTypes": { + "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", + "description": "The available data types for Threat Intelligence TAXII data connector." + } + }, + "required": [ + "dataTypes", + "pollingFrequency" + ], + "type": "object" + }, + "IoTDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents IoT data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDataConnectorProperties", + "description": "IoT data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IOT" + }, + "IoTDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "IoT data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "CodelessUiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless UI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/CodelessParameters", + "description": "Codeless UI data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "GenericUI" + }, + "CodelessParameters": { + "description": "Represents Codeless UI data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + } + } + }, + "CodelessUiConnectorConfigProperties": { + "description": "Config to describe the instructions blade", + "type": "object", + "properties": { + "title": { + "description": "Connector blade title", + "type": "string" + }, + "publisher": { + "description": "Connector publisher name", + "type": "string" + }, + "descriptionMarkdown": { + "description": "Connector description", + "type": "string" + }, + "customImage": { + "description": "An optional custom image to be used when displaying the connector within Azure Sentinel's connector's gallery", + "type": "string" + }, + "graphQueriesTableName": { + "description": "Name of the table the connector will insert the data to", + "type": "string" + }, + "graphQueries": { + "description": "The graph query to show the current data status", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/GraphQueries" + } + ] + }, + "type": "array" + }, + "sampleQueries": { + "description": "The sample queries for the connector", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/SampleQueries" + } + ] + }, + "type": "array" + }, + "dataTypes": { + "description": "Data types to check for last data received", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/LastDataReceivedDataType" + } + ] + }, + "type": "array" + }, + "connectivityCriteria": { + "description": "Define the way the connector check connectivity", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectivityCriteria" + } + ] + }, + "type": "array" + }, + "availability": { + "description": "Connector Availability Status", + "$ref": "#/definitions/Availability" + }, + "permissions": { + "description": "Permissions required for the connector", + "$ref": "#/definitions/Permissions" + }, + "instructionSteps": { + "description": "Instruction steps to enable the connector", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/InstructionSteps" + } + ] + }, + "type": "array" + } + }, + "required": [ + "title", + "publisher", + "descriptionMarkdown", + "graphQueriesTableName", + "graphQueries", + "sampleQueries", + "dataTypes", + "connectivityCriteria", + "availability", + "permissions", + "instructionSteps" + ] + }, + "DataConnectorConnectBody": { + "description": "Represents Codeless API Polling data connector.", + "type": "object", + "x-ms-identifiers": [], + "properties": { + "kind": { + "description": "The authentication kind used to poll the data", + "enum": [ + "Basic", + "OAuth2", + "APIKey" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectAuthKind" + } + }, + "apiKey": { + "type": "string", + "description": "The API key of the audit server." + }, + "dataCollectionEndpoint": { + "type": "string", + "description": "Used in v2 logs connector. Represents the data collection ingestion endpoint in log analytics." + }, + "dataCollectionRuleImmutableId": { + "type": "string", + "description": "Used in v2 logs connector. The data collection rule immutable id, the rule defines the transformation and data destination." + }, + "outputStream": { + "type": "string", + "description": "Used in v2 logs connector. The stream we are sending the data to, this is the name of the streamDeclarations defined in the DCR." + }, + "clientSecret": { + "type": "string", + "description": "The client secret of the OAuth 2.0 application." + }, + "clientId": { + "type": "string", + "description": "The client id of the OAuth 2.0 application." + }, + "authorizationCode": { + "type": "string", + "description": "The authorization code used in OAuth 2.0 code flow to issue a token." + }, + "userName": { + "type": "string", + "description": "The user name in the audit log server." + }, + "password": { + "type": "string", + "description": "The user password in the audit log server.", + "x-ms-secret": true + }, + "requestConfigUserInputValues": { + "type": "array", + "description": "", + "x-ms-identifiers": [], + "items": { + "type": "object" + } + } + } + }, + "CodelessApiPollingDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless API Polling data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ApiPollingParameters", + "description": "Codeless poling data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "APIPolling" + }, + "ApiPollingParameters": { + "description": "Represents Codeless API Polling data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + }, + "pollingConfig": { + "$ref": "#/definitions/CodelessConnectorPollingConfigProperties", + "description": "Config to describe the polling instructions" + } + } + }, + "CodelessConnectorPollingConfigProperties": { + "description": "Config to describe the polling config for API poller connector", + "type": "object", + "properties": { + "isActive": { + "description": "The poller active status", + "type": "boolean" + }, + "auth": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingAuthProperties", + "description": "Describe the authentication type of the poller" + }, + "request": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingRequestProperties", + "description": "Describe the poll request config parameters of the poller" + }, + "paging": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingPagingProperties", + "description": "Describe the poll request paging config of the poller" + }, + "response": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingResponseProperties", + "description": "Describe the response config parameters of the poller" + } + }, + "required": [ + "auth", + "request" + ] + }, + "CodelessConnectorPollingResponseProperties": { + "description": "Describes the response from the external server", + "type": "object", + "properties": { + "eventsJsonPaths": { + "description": "Describes the path we should extract the data in the response", + "x-ms-identifiers": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "successStatusJsonPath": { + "description": "Describes the path we should extract the status code in the response", + "type": "string" + }, + "successStatusValue": { + "description": "Describes the path we should extract the status value in the response", + "type": "string" + }, + "isGzipCompressed": { + "description": "Describes if the data in the response is Gzip", + "type": "boolean" + } + }, + "required": [ + "eventsJsonPaths" + ] + }, + "CodelessConnectorPollingPagingProperties": { + "description": "Describe the properties needed to make a pagination call", + "type": "object", + "properties": { + "pagingType": { + "description": "Describes the type. could be 'None', 'PageToken', 'PageCount', 'TimeStamp'", + "type": "string" + }, + "nextPageParaName": { + "description": "Defines the name of a next page attribute", + "type": "string" + }, + "nextPageTokenJsonPath": { + "description": "Defines the path to a next page token JSON", + "type": "string" + }, + "pageCountAttributePath": { + "description": "Defines the path to a page count attribute", + "type": "string" + }, + "pageTotalCountAttributePath": { + "description": "Defines the path to a page total count attribute", + "type": "string" + }, + "pageTimeStampAttributePath": { + "description": "Defines the path to a paging time stamp attribute", + "type": "string" + }, + "searchTheLatestTimeStampFromEventsList": { + "description": "Determines whether to search for the latest time stamp in the events list", + "type": "string" + }, + "pageSizeParaName": { + "description": "Defines the name of the page size parameter", + "type": "string" + }, + "pageSize": { + "description": "Defines the paging size", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "pagingType" + ] + }, + "CodelessConnectorPollingRequestProperties": { + "description": "Describe the request properties needed to successfully pull from the server", + "type": "object", + "properties": { + "apiEndpoint": { + "description": "Describe the endpoint we should pull the data from", + "type": "string" + }, + "rateLimitQps": { + "description": "Defines the rate limit QPS", + "format": "int32", + "type": "integer" + }, + "queryWindowInMin": { + "description": "The window interval we will use the pull the data", + "format": "int32", + "type": "integer" + }, + "httpMethod": { + "description": "The http method type we will use in the poll request, GET or POST", + "type": "string" + }, + "queryTimeFormat": { + "description": "The time format will be used the query events in a specific window", + "type": "string" + }, + "retryCount": { + "description": "Describe the amount of time we should try and poll the data in case of failure", + "format": "int32", + "type": "integer" + }, + "timeoutInSeconds": { + "description": "The number of seconds we will consider as a request timeout", + "format": "int32", + "type": "integer" + }, + "headers": { + "description": "Describe the headers sent in the poll request", + "type": "object" + }, + "queryParameters": { + "description": "Describe the query parameters sent in the poll request", + "type": "object" + }, + "queryParametersTemplate": { + "description": "For advanced scenarios for example user name/password embedded in nested JSON payload", + "type": "string" + }, + "startTimeAttributeName": { + "description": "This will be used the query events from a start of the time window", + "type": "string" + }, + "endTimeAttributeName": { + "description": "This will be used the query events from the end of the time window", + "type": "string" + } + }, + "required": [ + "apiEndpoint", + "httpMethod", + "queryWindowInMin", + "queryTimeFormat" + ] + }, + "CodelessConnectorPollingAuthProperties": { + "description": "Describe the authentication properties needed to successfully authenticate with the server", + "type": "object", + "properties": { + "authType": { + "description": "The authentication type", + "type": "string" + }, + "apiKeyName": { + "description": "The header name which the token is sent with", + "type": "string" + }, + "apiKeyIdentifier": { + "description": "A prefix send in the header before the actual token", + "type": "string" + }, + "isApiKeyInPostPayload": { + "description": "Marks if the key should sent in header", + "type": "string" + }, + "flowName": { + "description": "Describes the flow name, for example 'AuthCode' for Oauth 2.0", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint used to issue a token, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpoint": { + "description": "The endpoint used to authorize the user, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpointQueryParameters": { + "description": "The query parameters used in authorization request, used in Oauth 2.0 flow", + "type": "object" + }, + "redirectionEndpoint": { + "description": "The redirect endpoint where we will get the authorization code, used in Oauth 2.0 flow", + "type": "string" + }, + "tokenEndpointHeaders": { + "description": "The query headers used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "tokenEndpointQueryParameters": { + "description": "The query parameters used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "isClientSecretInHeader": { + "description": "Marks if we should send the client secret in header or payload, used in Oauth 2.0 flow", + "type": "boolean" + }, + "scope": { + "description": "The OAuth token scope", + "type": "string" + } + }, + "required": [ + "authType" + ] + }, + "LastDataReceivedDataType": { + "description": "Data type for last data received", + "type": "object", + "properties": { + "name": { + "description": "Name of the data type to show in the graph. can be use with {{graphQueriesTableName}} placeholder", + "type": "string" + }, + "lastDataReceivedQuery": { + "description": "Query for indicate last data received", + "type": "string" + } + } + }, + "Permissions": { + "description": "Permissions required for the connector", + "x-ms-identifiers": [], + "type": "object", + "properties": { + "resourceProvider": { + "description": "Resource provider permissions required for the connector", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProvider" + } + ] + }, + "type": "array" + }, + "customs": { + "description": "Customs permissions required for the connector", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/Customs" + } + ] + }, + "type": "array" + } + } + }, + "Customs": { + "description": "Customs permissions required for the connector", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CustomsPermission" + } + ] + }, + "CustomsPermission": { + "description": "Customs permissions required for the connector", + "type": "object", + "properties": { + "name": { + "description": "Customs permissions name", + "type": "string" + }, + "description": { + "description": "Customs permissions description", + "type": "string" + } + } + }, + "ResourceProvider": { + "description": "Resource provider permissions required for the connector", + "type": "object", + "properties": { + "provider": { + "description": "Provider name", + "enum": [ + "Microsoft.OperationalInsights/solutions", + "Microsoft.OperationalInsights/workspaces", + "Microsoft.OperationalInsights/workspaces/datasources", + "microsoft.aadiam/diagnosticSettings", + "Microsoft.OperationalInsights/workspaces/sharedKeys", + "Microsoft.Authorization/policyAssignments" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProviderName" + } + }, + "permissionsDisplayText": { + "description": "Permission description text", + "type": "string" + }, + "providerDisplayName": { + "description": "Permission provider display name", + "type": "string" + }, + "scope": { + "description": "Permission provider scope", + "enum": [ + "ResourceGroup", + "Subscription", + "Workspace" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "PermissionProviderScope" + } + }, + "requiredPermissions": { + "description": "Required permissions for the connector", + "$ref": "#/definitions/RequiredPermissions" + } + } + }, + "InstructionSteps": { + "description": "Instruction steps to enable the connector", + "type": "object", + "properties": { + "title": { + "description": "Instruction step title", + "type": "string" + }, + "description": { + "description": "Instruction step description", + "type": "string" + }, + "instructions": { + "description": "Instruction step details", + "x-ms-identifiers": [], + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectorInstructionModelBase" + } + ] + }, + "type": "array" + } + } + }, + "ConnectorInstructionModelBase": { + "description": "Instruction step details", + "type": "object", + "properties": { + "parameters": { + "type": "object", + "description": "The parameters for the setting" + }, + "type": { + "description": "The kind of the setting", + "enum": [ + "CopyableLabel", + "InstructionStepsGroup", + "InfoMessage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingType" + } + } + }, + "required": [ + "type" + ] + }, + "RequiredPermissions": { + "description": "Required permissions for the connector", + "type": "object", + "properties": { + "action": { + "description": "action permission", + "type": "boolean" + }, + "write": { + "description": "write permission", + "type": "boolean" + }, + "read": { + "description": "read permission", + "type": "boolean" + }, + "delete": { + "description": "delete permission", + "type": "boolean" + } + } + }, + "Availability": { + "description": "Connector Availability Status", + "type": "object", + "properties": { + "status": { + "description": "The connector Availability Status", + "format": "int32", + "type": "integer", + "enum": [ + 1 + ], + "x-ms-enum": { + "name": "AvailabilityStatus", + "values": [ + { + "value": 1, + "description": "Available" + } + ] + } + }, + "isPreview": { + "description": "Set connector as preview", + "type": "boolean" + } + } + }, + "ConnectivityCriteria": { + "description": "Setting for the connector check connectivity", + "type": "object", + "properties": { + "type": { + "description": "type of connectivity", + "enum": [ + "IsConnectedQuery" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectivityType" + } + }, + "value": { + "description": "Queries for checking connectivity", + "x-ms-identifiers": [], + "type": "array", + "items": { + "description": "checking connectivity query", + "type": "string" + } + } + } + }, + "SampleQueries": { + "description": "The sample queries for the connector", + "type": "object", + "properties": { + "description": { + "description": "The sample query description", + "type": "string" + }, + "query": { + "description": "the sample query", + "type": "string" + } + } + }, + "GraphQueries": { + "type": "object", + "description": "The graph query to show the current data status", + "properties": { + "metricName": { + "description": "the metric that the query is checking", + "type": "string" + }, + "legend": { + "description": "The legend for the graph", + "type": "string" + }, + "baseQuery": { + "description": "The base query for the graph", + "type": "string" + } + } + } + }, + "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" + }, + "DataConnectorConnectBody": { + "description": "The data connector", + "in": "body", + "name": "connectBody", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorConnectBody" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorsCheckRequirementsBody": { + "description": "The parameters for requirements check message", + "in": "body", + "name": "DataConnectorsCheckRequirements", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/CreateActionOfAlertRule.json new file mode 100644 index 000000000000..fe9d6bcbde01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/CreateActionOfAlertRule.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/DeleteActionOfAlertRule.json new file mode 100644 index 000000000000..113a77356727 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/DeleteActionOfAlertRule.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/GetActionOfAlertRuleById.json new file mode 100644 index 000000000000..588ef8c57972 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/GetActionOfAlertRuleById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/GetAllActionsByAlertRule.json new file mode 100644 index 000000000000..7700fbbe3f66 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/actions/GetAllActionsByAlertRule.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..ac0d3d4f1e71 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "version": "1.0.2", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..25309b0d1f89 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/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" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00: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.OperationalIinsights/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": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + } + ] + }, + { + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "severityFilter": { + "enabled": false, + "isSupported": false, + "severityFilters": null + } + } + ] + } + ], + "lastUpdatedDateUTC": "2021-06-09T00: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.OperationalIinsights/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": "2020-02-27T00:00:00Z", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRule.json new file mode 100644 index 000000000000..d9ee6c760ccd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRule.json @@ -0,0 +1,845 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json new file mode 100644 index 000000000000..8b1834e95bd5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json @@ -0,0 +1,851 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "scenarioExclusionPatterns": [ + { + "exclusionPattern": "Alert providers:Azure Active Directory Identity Protection:Infected Device;Alert providers:Azure Defender:Crypto-mining activity", + "dateAddedInUTC": "2021-10-01T15:26:44.9429806Z" + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..e36d779d19f4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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.OperationalIinsights/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.OperationalIinsights/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/preview/2023-07-01-preview/examples/alertRules/CreateNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateNrtAlertRule.json new file mode 100644 index 000000000000..1b0a9a5c1b08 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateNrtAlertRule.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "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", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "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", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateScheduledAlertRule.json new file mode 100644 index 000000000000..a133bb2468b7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/CreateScheduledAlertRule.json @@ -0,0 +1,270 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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" + ], + "techniques": [ + "T1037", + "T1021" + ], + "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" + } + ] + } + ], + "sentinelEntitiesMappings": [ + { + "columnName": "Entities" + } + ], + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01005144-0000-0d00-0000-6058632c0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "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" + ] + } + } + } + } + }, + "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", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01007444-0000-0d00-0000-605863a70000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:15:30Z", + "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/preview/2023-07-01-preview/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/DeleteAlertRule.json new file mode 100644 index 000000000000..035ce9e6da40 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/DeleteAlertRule.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetAllAlertRules.json new file mode 100644 index 000000000000..d7d610a105bd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetAllAlertRules.json @@ -0,0 +1,412 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/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" + ], + "techniques": [ + "T1037", + "T1021" + ], + "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.OperationalIinsights/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.OperationalIinsights/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": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-22T07:12:34.9065092Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetFusionAlertRule.json new file mode 100644 index 000000000000..d81f60dc0d41 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetFusionAlertRule.json @@ -0,0 +1,310 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..86b5fda2962b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "microsoftSecurityIncidentCreationRuleExample" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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/preview/2023-07-01-preview/examples/alertRules/GetNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetNrtAlertRule.json new file mode 100644 index 000000000000..9d9dff6335ee --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetNrtAlertRule.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "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", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetScheduledAlertRule.json new file mode 100644 index 000000000000..6fd4a529528d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/alertRules/GetScheduledAlertRule.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "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", + "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" + ], + "techniques": [ + "T1037", + "T1021" + ], + "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" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..c237f8a4a366 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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 user sign-in events", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "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": "AddIncidentTask", + "actionConfiguration": { + "title": "Reset user passwords", + "description": "Reset passwords for compromised users." + } + } + ], + "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 user sign-in events", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "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": "AddIncidentTask", + "actionConfiguration": { + "title": "Reset user passwords", + "description": "Reset passwords for compromised users." + } + } + ], + "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 user sign-in events", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "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": "AddIncidentTask", + "actionConfiguration": { + "title": "Reset user passwords", + "description": "Reset passwords for compromised users." + } + } + ], + "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/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Delete.json new file mode 100644 index 000000000000..4379e4227cc9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Get.json new file mode 100644 index 000000000000..915f41a6e6bb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_Get.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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 user sign-in events", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "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": "AddIncidentTask", + "actionConfiguration": { + "title": "Reset user passwords", + "description": "Reset passwords for compromised users." + } + } + ], + "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/preview/2023-07-01-preview/examples/automationRules/AutomationRules_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_List.json new file mode 100644 index 000000000000..b3b2da6495c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/automationRules/AutomationRules_List.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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 user sign-in events", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "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": "AddIncidentTask", + "actionConfiguration": { + "title": "Reset user passwords", + "description": "Reset passwords for compromised users." + } + } + ], + "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/preview/2023-07-01-preview/examples/billingStatistics/GetAllBillingStatistics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/billingStatistics/GetAllBillingStatistics.json new file mode 100644 index 000000000000..cb3de4aac66b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/billingStatistics/GetAllBillingStatistics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/billingStatistics/sapUsage", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "sapSolutionUsage", + "type": "Microsoft.SecurityInsights/billingStatistics", + "kind": "SapSolutionUsage", + "properties": { + "activeSystemIdCount": 5 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/billingStatistics/GetBillingStatistic.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/billingStatistics/GetBillingStatistic.json new file mode 100644 index 000000000000..4f164baa20d6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/billingStatistics/GetBillingStatistic.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "billingStatisticName": "sapSolutionUsage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/billingStatistics/sapUsage", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "sapSolutionUsage", + "type": "Microsoft.SecurityInsights/billingStatistics", + "kind": "SapSolutionUsage", + "properties": { + "activeSystemIdCount": 5 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..a6781be0b22e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-09-01T13:15:30Z", + "created": "2021-09-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", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "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": "2021-09-01T13:15:30Z", + "created": "2021-09-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", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "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": "2021-09-01T13:15:30Z", + "created": "2021-09-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", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..16400328e2ab --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..07ba04cb52c2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-09-01T13:15:30Z", + "created": "2021-09-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" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..247409cbfbe1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/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": "2021-09-01T13:15:30Z", + "created": "2021-09-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" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/expand/PostExpandBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/expand/PostExpandBookmark.json new file mode 100644 index 000000000000..ae981876de71 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/expand/PostExpandBookmark.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "parameters": { + "expansionId": "27f76e63-c41b-480f-bb18-12ad2e011d49", + "startTime": "2019-12-25T17:21:00.000Z", + "endTime": "2020-01-24T17:21:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "name": "fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json new file mode 100644 index 000000000000..1d044748d383 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "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/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/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/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/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/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json new file mode 100644 index 000000000000..a728919d6022 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json new file mode 100644 index 000000000000..89c5c008e17c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/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/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json new file mode 100644 index 000000000000..f824fbf3e1fb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "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/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/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/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetPackageById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetPackageById.json new file mode 100644 index 000000000000..1c0e0ef46963 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetPackageById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentPackages/GetPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetPackages.json new file mode 100644 index 000000000000..13a5c06f511b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetPackages.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentPackages/GetProductPackageById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetProductPackageById.json new file mode 100644 index 000000000000..7ef0ae167c2d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetProductPackageById.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentPackages/GetProductPackages.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetProductPackages.json new file mode 100644 index 000000000000..9ff7aabc9c3c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/GetProductPackages.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentPackages/InstallPackage.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/InstallPackage.json new file mode 100644 index 000000000000..89d1f75680cc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/InstallPackage.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentPackages/UninstallPackage.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/UninstallPackage.json new file mode 100644 index 000000000000..cb20ac1400de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentPackages/UninstallPackage.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/DeleteTemplate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/DeleteTemplate.json new file mode 100644 index 000000000000..7c2c04417435 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/DeleteTemplate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplateById.json new file mode 100644 index 000000000000..f747e53faee4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplateById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplates.json new file mode 100644 index 000000000000..f41688d108cc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetProductTemplates.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/GetTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetTemplateById.json new file mode 100644 index 000000000000..9146bb834d56 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetTemplateById.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/GetTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetTemplates.json new file mode 100644 index 000000000000..d4d160b73e81 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/GetTemplates.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/contentTemplates/InstallTemplate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/InstallTemplate.json new file mode 100644 index 000000000000..5f14ed5ed0fa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/contentTemplates/InstallTemplate.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/dataConnectorDefinitions/CreateCustomizableDataConnectorDefinition.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/CreateCustomizableDataConnectorDefinition.json new file mode 100644 index 000000000000..1da3c0ca937d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/CreateCustomizableDataConnectorDefinition.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorDefinitionName": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "connectorDefinitionInput": { + "kind": "Customizable", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "GitHubAuditLogPolling_CL" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "GitHubAuditLogPolling_CL \n | take 10" + } + ], + "dataTypes": [ + { + "name": "GitHubAuditLogPolling_CL", + "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": false, + "delete": false, + "action": false + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "type": "OAuthForm", + "parameters": { + "clientIdLabel": "Client ID", + "clientSecretLabel": "Client Secret", + "connectButtonLabel": "Connect", + "disconnectButtonLabel": "Disconnect" + } + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectorDefinitions", + "kind": "Customizable", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "GitHubAuditLogPolling_CL" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "GitHubAuditLogPolling_CL \n | take 10" + } + ], + "dataTypes": [ + { + "name": "GitHubAuditLogPolling_CL", + "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": false, + "delete": false, + "action": false + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "type": "OAuthForm", + "parameters": { + "clientIdLabel": "Client ID", + "clientSecretLabel": "Client Secret", + "connectButtonLabel": "Connect", + "disconnectButtonLabel": "Disconnect" + } + } + ] + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectorDefinitions", + "kind": "Customizable", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "GitHubAuditLogPolling_CL" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "GitHubAuditLogPolling_CL \n | take 10" + } + ], + "dataTypes": [ + { + "name": "GitHubAuditLogPolling_CL", + "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": false, + "delete": false, + "action": false + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "type": "OAuthForm", + "parameters": { + "clientIdLabel": "Client ID", + "clientSecretLabel": "Client Secret", + "connectButtonLabel": "Connect", + "disconnectButtonLabel": "Disconnect" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/DeleteDataConnectorDefinitionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/DeleteDataConnectorDefinitionById.json new file mode 100644 index 000000000000..dba072ff30d9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/DeleteDataConnectorDefinitionById.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorDefinitionName": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetCustomizableDataConnectoeDefinitionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetCustomizableDataConnectoeDefinitionById.json new file mode 100644 index 000000000000..c4bdc929cb0e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetCustomizableDataConnectoeDefinitionById.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorDefinitionName": "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/dataConnectorDefinitions/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectorDefinitions", + "kind": "Customizable", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "GitHubAuditLogPolling_CL" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "GitHubAuditLogPolling_CL \n | take 10" + } + ], + "dataTypes": [ + { + "name": "GitHubAuditLogPolling_CL", + "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": false, + "delete": false, + "action": false + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "type": "OAuthForm", + "parameters": { + "clientIdLabel": "Client ID", + "clientSecretLabel": "Client Secret", + "connectButtonLabel": "Connect", + "disconnectButtonLabel": "Disconnect" + } + } + ] + } + ] + }, + "connectionsConfig": { + "templateSpecName": "templateNameMock", + "templateSpecVersion": "1.0.0" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetDataConnectorDefinitions.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetDataConnectorDefinitions.json new file mode 100644 index 000000000000..7fcf1f485856 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectorDefinitions/GetDataConnectorDefinitions.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/dataConnectorDefinitions/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectorDefinitions", + "kind": "Customizable", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "GitHubAuditLogPolling_CL" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "GitHubAuditLogPolling_CL \n | take 10" + } + ], + "dataTypes": [ + { + "name": "GitHubAuditLogPolling_CL", + "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": false, + "delete": false, + "action": false + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "type": "OAuthForm", + "parameters": { + "clientIdLabel": "Client ID", + "clientSecretLabel": "Client Secret", + "connectButtonLabel": "Connect", + "disconnectButtonLabel": "Disconnect" + } + } + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json new file mode 100644 index 000000000000..4cfea3618027 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json new file mode 100644 index 000000000000..4cfea3618027 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json new file mode 100644 index 000000000000..4cfea3618027 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json new file mode 100644 index 000000000000..3fe5148e26d1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureSecurityCenter", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json new file mode 100644 index 000000000000..50984a4b89be --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Dynamics365", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsIoT.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsIoT.json new file mode 100644 index 000000000000..2111fd7370c3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsIoT.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "IOT", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json new file mode 100644 index 000000000000..3650580ff4a6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json new file mode 100644 index 000000000000..3650580ff4a6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftPurviewInformationProtection.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftPurviewInformationProtection.json new file mode 100644 index 000000000000..e926951558ef --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftPurviewInformationProtection.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftPurviewInformationProtection", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json new file mode 100644 index 000000000000..0e88ec7b1102 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json new file mode 100644 index 000000000000..bb78a6601021 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatProtection", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json new file mode 100644 index 000000000000..6754dcbeccd9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Office365Project", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json new file mode 100644 index 000000000000..0dbe07dbad45 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeATP", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json new file mode 100644 index 000000000000..c7bc1110c5fa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeIRM", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json new file mode 100644 index 000000000000..242ea8c6bb04 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficePowerBI", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json new file mode 100644 index 000000000000..b4a9ec0ff80f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json new file mode 100644 index 000000000000..0497f856e3c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPolling.json new file mode 100644 index 000000000000..9e8ebec64546 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPolling.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "connectBody": { + "kind": "APIKey", + "apiKey": "123456789", + "requestConfigUserInputValues": [ + { + "displayText": "Organization Name", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "somePlaceHolderValue", + "requestObjectKey": "apiEndpoint" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPollingV2Logs.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPollingV2Logs.json new file mode 100644 index 000000000000..2ee3d25fb0b9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/ConnectAPIPollingV2Logs.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "connectBody": { + "kind": "APIKey", + "apiKey": "123456789", + "dataCollectionEndpoint": "https://test.eastus.ingest.monitor.azure.com", + "dataCollectionRuleImmutableId": "dcr-34adsj9o7d6f9de204478b9cgb43b631", + "outputStream": "Custom-MyTableRawData", + "requestConfigUserInputValues": [ + { + "displayText": "Organization Name", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "somePlaceHolderValue", + "requestObjectKey": "apiEndpoint" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateAPIPolling.json new file mode 100644 index 000000000000..06cbb9dc6b83 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateAPIPolling.json @@ -0,0 +1,368 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json new file mode 100644 index 000000000000..afecb0f3c742 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "dataConnector": { + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "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": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "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": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGenericUI.json new file mode 100644 index 000000000000..c101496e2e7d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGenericUI.json @@ -0,0 +1,437 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGoogleCloudPlatform.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGoogleCloudPlatform.json new file mode 100644 index 000000000000..25844ac2b9ea --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateGoogleCloudPlatform.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1", + "dataConnector": { + "kind": "GCP", + "properties": { + "connectorDefinitionName": "GcpConnector", + "auth": { + "serviceAccountEmail": "sentinel-service-account@project-id.iam.gserviceaccount.com", + "projectNumber": "123456789012", + "workloadIdentityProviderId": "sentinel-identity-provider", + "type": "GCP" + }, + "request": { + "projectId": "project-id", + "subscriptionNames": [ + "sentinel-subscription" + ] + }, + "dcrConfig": { + "dataCollectionEndpoint": "https://microsoft-sentinel-datacollectionendpoint-123m.westeurope-1.ingest.monitor.azure.com", + "dataCollectionRuleImmutableId": "dcr-de21b053bd5a44beb99a256c9db85023", + "streamName": "SENTINEL_GCP_AUDIT_LOGS" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/GCP_afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "GCP", + "properties": { + "connectorDefinitionName": "GcpConnector", + "auth": { + "serviceAccountEmail": "sentinel-service-account@project-id.iam.gserviceaccount.com", + "projectNumber": "123456789012", + "workloadIdentityProviderId": "sentinel-identity-provider", + "type": "GCP" + }, + "request": { + "projectId": "project-id", + "subscriptionNames": [ + "sentinel-subscription" + ] + }, + "dcrConfig": { + "dataCollectionEndpoint": "https://microsoft-sentinel-datacollectionendpoint-123m.westeurope-1.ingest.monitor.azure.com", + "dataCollectionRuleImmutableId": "dcr-de21b053bd5a44beb99a256c9db85023", + "streamName": "SENTINEL_GCP_AUDIT_LOGS" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/GCP_afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "GCP", + "properties": { + "connectorDefinitionName": "GcpConnector", + "auth": { + "serviceAccountEmail": "sentinel-service-account@project-id.iam.gserviceaccount.com", + "projectNumber": "123456789012", + "workloadIdentityProviderId": "sentinel-identity-provider", + "type": "GCP" + }, + "request": { + "projectId": "project-id", + "subscriptionNames": [ + "sentinel-subscription" + ] + }, + "dcrConfig": { + "dataCollectionEndpoint": "https://microsoft-sentinel-datacollectionendpoint-123m.westeurope-1.ingest.monitor.azure.com", + "dataCollectionRuleImmutableId": "dcr-de21b053bd5a44beb99a256c9db85023", + "streamName": "SENTINEL_GCP_AUDIT_LOGS" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftPurviewInformationProtectionDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftPurviewInformationProtectionDataConnetor.json new file mode 100644 index 000000000000..f577a91911e6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftPurviewInformationProtectionDataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "MicrosoftPurviewInformationProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "MicrosoftPurviewInformationProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "MicrosoftPurviewInformationProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..c4528e3849a0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatIntelligenceDataConnector.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "dataConnector": { + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "dataTypes": { + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "1970-01-01T00:00:00.000Z" + } + } + } + } + }, + "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": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "dataTypes": { + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "01/01/1970 00:00:00" + } + } + } + } + }, + "201": { + "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": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "dataTypes": { + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "01/01/1970 00:00:00" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatProtectionDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatProtectionDataConnetor.json new file mode 100644 index 000000000000..226d987688bf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateMicrosoftThreatProtectionDataConnetor.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "MicrosoftThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "178265c4-3136-4ff6-8ed1-b5b62b4cb5f5", + "dataTypes": { + "incidents": { + "state": "Disabled" + }, + "alerts": { + "state": "Enabled" + } + }, + "filteredProviders": { + "alerts": [ + "microsoftDefenderForCloudApps" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/595c870a-5b74-4a23-984c-9ddba29cefe3", + "name": "595c870a-5b74-4a23-984c-9ddba29cefe3", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatProtection", + "etag": "2b61bd0c-62b4-4968-8f9a-71b91be61127", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "incidents": { + "state": "Disabled55" + }, + "alerts": { + "state": "Enabled" + } + }, + "filteredProviders": { + "alerts": [ + "microsoftDefenderForCloudApps" + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/595c870a-5b74-4a23-984c-9ddba29cefe3", + "name": "595c870a-5b74-4a23-984c-9ddba29cefe3", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatProtection", + "etag": "2b61bd0c-62b4-4968-8f9a-71b91be61127", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "incidents": { + "state": "Disabled" + }, + "alerts": { + "state": "Enabled" + } + }, + "filteredProviders": { + "alerts": [ + "microsoftDefenderForCloudApps" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..6eb0b55499b6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json new file mode 100644 index 000000000000..bcdb3c80acc3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json new file mode 100644 index 000000000000..fd0f09ab613d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "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": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..16774677fd5c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json new file mode 100644 index 000000000000..a46ef2f83f42 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "dd124572-4962-4495-9bd2-9dade12314b4", + "friendlyName": "testTaxii", + "userName": "--", + "password": "--", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "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", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "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", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteAPIPolling.json new file mode 100644 index 000000000000..2e5894bc9dbb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGenericUI.json new file mode 100644 index 000000000000..2e5894bc9dbb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGenericUI.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGoogleCloudPlatform.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGoogleCloudPlatform.json new file mode 100644 index 000000000000..df1b8793fc55 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteGoogleCloudPlatform.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftPurviewInformationProtectionDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftPurviewInformationProtectionDataConnetor.json new file mode 100644 index 000000000000..3f7ce13b3468 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftPurviewInformationProtectionDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..71d30691ce65 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteMicrosoftThreatIntelligenceDataConnector.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..3f7ce13b3468 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json new file mode 100644 index 000000000000..3f7ce13b3468 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json new file mode 100644 index 000000000000..3f7ce13b3468 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DisconnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DisconnectAPIPolling.json new file mode 100644 index 000000000000..59348d0ac511 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/DisconnectAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "disconnectBody": {} + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAPIPolling.json new file mode 100644 index 000000000000..6805d3a88f9b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAPIPolling.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "customImage": "The image connector content", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json new file mode 100644 index 000000000000..7805bffb428e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json new file mode 100644 index 000000000000..3c311e9b9a3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "afef3743-0c88-469c-84ff-ca2e87dc1e48" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json new file mode 100644 index 000000000000..9cd676c68649 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..cd033dd03711 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json new file mode 100644 index 000000000000..01fc33972ebb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetDataConnectors.json new file mode 100644 index 000000000000..a976c26a1ebe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetDataConnectors.json @@ -0,0 +1,508 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/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/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "pollingFrequency": "OnceAMinute", + "dataTypes": { + "taxiiClient": { + "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" + }, + "teams": { + "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/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "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" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "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/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json new file mode 100644 index 000000000000..d8d52548b53a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGenericUI.json new file mode 100644 index 000000000000..ce92b74c3e42 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGenericUI.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGoogleCloudPlatformById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGoogleCloudPlatformById.json new file mode 100644 index 000000000000..713e166574d5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetGoogleCloudPlatformById.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/GCP_afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "GCP_fce27b90-d6f5-4d30-991a-af509a2b50a1", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "GCP", + "properties": { + "connectorDefinitionName": "GcpConnector", + "auth": { + "serviceAccountEmail": "sentinel-service-account@project-id.iam.gserviceaccount.com", + "projectNumber": "123456789012", + "workloadIdentityProviderId": "sentinel-identity-provider", + "type": "GCP" + }, + "request": { + "projectId": "project-id", + "subscriptionNames": [ + "sentinel-subscription" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetIoTById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetIoTById.json new file mode 100644 index 000000000000..db036c22c07a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetIoTById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "d2e5dc7a-f3a2-429d-954b-939fa8c2932e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/d2e5dc7a-f3a2-429d-954b-939fa8c2932e", + "name": "d2e5dc7a-f3a2-429d-954b-939fa8c2932e", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "IOT", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json new file mode 100644 index 000000000000..c9b049b13223 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..3d14c0b19071 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json new file mode 100644 index 000000000000..36e72cb4802e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeIRM", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftPurviewInformationProtectionDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftPurviewInformationProtectionDataConnetorById.json new file mode 100644 index 000000000000..5ee866b6382a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftPurviewInformationProtectionDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "MicrosoftPurviewInformationProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json new file mode 100644 index 000000000000..cff9d5f50b56 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "MicrosoftThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "01/01/1970 00:00:00" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json new file mode 100644 index 000000000000..61b517ef46f5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "MicrosoftThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "incidents": { + "state": "Enabled" + }, + "alerts": { + "state": "Enabled" + } + }, + "filteredProviders": { + "alerts": [ + "microsoftDefenderForCloudApps" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json new file mode 100644 index 000000000000..5f820e26d5f3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json new file mode 100644 index 000000000000..3a5c51d69ee3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json new file mode 100644 index 000000000000..0a841bfb28a2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json new file mode 100644 index 000000000000..df31c8eee90b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..19d7c1d8a44e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json new file mode 100644 index 000000000000..ca3fe8dacf8a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c39bb458-02a7-4b3f-b0c8-71a1d2692652" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetGeodataByIp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetGeodataByIp.json new file mode 100644 index 000000000000..5a304673cc8d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetGeodataByIp.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "ipAddress": "1.2.3.4" + }, + "responses": { + "200": { + "body": { + "asn": "12345", + "carrier": "Microsoft", + "city": "Redmond", + "cityCf": 90, + "continent": "north america", + "country": "united states", + "countryCf": 99, + "ipAddr": "1.2.3.4", + "ipRoutingType": "fixed", + "latitude": "40.2436", + "longitude": "-100.8891", + "organization": "Microsoft", + "organizationType": "tech", + "region": "western usa", + "state": "washington", + "stateCf": null, + "stateCode": "wa" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetWhoisByDomainName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetWhoisByDomainName.json new file mode 100644 index 000000000000..26463f3b93a0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/enrichment/GetWhoisByDomainName.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "domain": "microsoft.com" + }, + "responses": { + "200": { + "body": { + "domain": "microsoft.com", + "server": null, + "created": "2021-09-01T16:15:01.187045Z", + "updated": "2021-09-01T16:15:01.187045Z", + "expires": null, + "parsedWhois": { + "registrar": { + "name": "MarkMonitor, Inc", + "abuseContactPhone": "12083895770", + "abuseContactEmail": "abuse@microsoft.com", + "url": "http://www.markmonitor.com", + "whoisServer": "whois.markmonitor.com" + }, + "contacts": { + "admin": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "registrant": null, + "billing": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "tech": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + } + }, + "nameServers": [ + "ns1-205.azure-dns.com", + "ns2-205.azure-dns.net", + "ns3-205.azure-dns.org", + "ns4-205.azure-dns.info" + ], + "statuses": [ + "clientUpdateProhibited", + "clientTransferProhibited", + "clientDeleteProhibited", + "serverUpdateProhibited", + "serverTransferProhibited", + "serverDeleteProhibited" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAccountEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAccountEntityById.json new file mode 100644 index 000000000000..caad4d7081b3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAccountEntityById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0", + "dnsDomain": "contoso.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAzureResourceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAzureResourceEntityById.json new file mode 100644 index 000000000000..30d0e4efd671 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetAzureResourceEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "AzureResource", + "properties": { + "friendlyName": "vm1", + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetCloudApplicationEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetCloudApplicationEntityById.json new file mode 100644 index 000000000000..e3cf87f4f6d5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetCloudApplicationEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "CloudApplication", + "properties": { + "friendlyName": "AppName", + "appId": 1, + "appName": "AppName", + "instanceName": "InstanceName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetDnsEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetDnsEntityById.json new file mode 100644 index 000000000000..ef6fc36dd87c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetDnsEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "f4e74920-f2c0-4412-a45f-66d94fdf01f8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "name": "f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "type": "Microsoft.SecurityInsights/entities", + "kind": "DnsResolution", + "properties": { + "friendlyName": "domain", + "domainName": "domain", + "ipAddressEntityIds": [ + "475d3120-33e0-4841-9f1c-a8f15a801d19" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetEntities.json new file mode 100644 index 000000000000..9a45900bd7be --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetEntities.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/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", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "name": "fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileEntityById.json new file mode 100644 index 000000000000..2c7fc953aafa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileHashEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileHashEntityById.json new file mode 100644 index 000000000000..62bf9f2d814f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetFileHashEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "ea359fa6-c1e5-f878-e105-6344f3e399a1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/ea359fa6-c1e5-f878-e105-6344f3e399a1", + "name": "ea359fa6-c1e5-f878-e105-6344f3e399a1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "FileHash", + "properties": { + "friendlyName": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0(SHA256)", + "hashValue": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0", + "algorithm": "SHA256" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetHostEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetHostEntityById.json new file mode 100644 index 000000000000..d4510ef85f43 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetHostEntityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIoTDeviceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIoTDeviceEntityById.json new file mode 100644 index 000000000000..5d1068e12f86 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIoTDeviceEntityById.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "IoTDevice", + "properties": { + "friendlyName": "device1", + "deviceId": "device1", + "deviceName": "device1", + "iotHubEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/8b2d9401-f953-e89d-2583-be9b4975870c", + "nicEntityIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/6ee379bd-ace8-44cf-ab10-ee669a1b71e2" + ], + "deviceType": "Industrial", + "firmwareVersion": "20.11", + "importance": "Normal", + "isAuthorized": true, + "isProgramming": false, + "isScanner": false, + "model": "demo-model", + "protocols": [ + "CIP", + "EtherNet/IP" + ], + "operatingSystem": "Windows", + "purdueLayer": "ProcessControl", + "sensor": "demo-sensor", + "site": "demo-site", + "vendor": "demo-vendor", + "zone": "zone" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIpEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIpEntityById.json new file mode 100644 index 000000000000..f541150ebf5a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetIpEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "Ip", + "properties": { + "friendlyName": "10.3.2.8", + "address": "10.3.2.8" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailClusterEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailClusterEntityById.json new file mode 100644 index 000000000000..d1ec4aeca51e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailClusterEntityById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "MailCluster", + "properties": { + "friendlyName": "ClusterSourceIdentifier", + "networkMessageIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "countByDeliveryStatus": { + "deliveryStatus": 5 + }, + "countByThreatType": { + "threatType": 6 + }, + "countByProtectionStatus": { + "protectionStatus": 65 + }, + "threats": [ + "thrreat1", + "thread2" + ], + "query": "kqlFilter", + "queryTime": "2021-09-01T01:42:01.6026755Z", + "source": "ClusterSourceIdentifier", + "clusterSourceIdentifier": "cluster source identifier", + "clusterSourceType": "Similarity", + "clusterGroup": "cluster group" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailMessageEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailMessageEntityById.json new file mode 100644 index 000000000000..f28f38582ae3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailMessageEntityById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "MailMessage", + "properties": { + "friendlyName": "cmd.exe", + "fileEntityIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "recipient": "recipient", + "urls": [ + "http://moqbrarcwmnk.banxhdcojlg.biz" + ], + "threats": [ + "thrreat1", + "thread2" + ], + "p1Sender": "email@fake.com", + "p1SenderDisplayName": "p1 sender display name", + "p1SenderDomain": "p1 sender domain", + "senderIP": "1.23.34.43", + "p2Sender": "the sender", + "deliveryAction": "Blocked", + "p2SenderDisplayName": "p2 sender display name", + "p2SenderDomain": "p2 Sender Domain", + "internetMessageId": "message id", + "subject": "subject", + "language": "language", + "threatDetectionMethods": [ + "thrreat1", + "thread2" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailboxEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailboxEntityById.json new file mode 100644 index 000000000000..0a2e99249703 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMailboxEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "Mailbox", + "properties": { + "friendlyName": "emailAddress1", + "displayName": "display name", + "mailboxPrimaryAddress": "emailAddress1", + "upn": "upn1", + "externalDirectoryObjectId": "18cc8fdc-e169-4451-983a-bd027db286eb" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMalwareEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMalwareEntityById.json new file mode 100644 index 000000000000..e6c25e225abf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetMalwareEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Malware", + "properties": { + "malwareName": "Win32/Toga!rfn", + "category": "Trojan", + "friendlyName": "Win32/Toga!rfn" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetProcessEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetProcessEntityById.json new file mode 100644 index 000000000000..7b9516ff8903 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetProcessEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "7264685c-038c-42c6-948c-38e14ef1fb98" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/7264685c-038c-42c6-948c-38e14ef1fb98", + "name": "7264685c-038c-42c6-948c-38e14ef1fb98", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Process", + "properties": { + "friendlyName": "cmd.exe", + "processId": "0x2aa48", + "commandLine": "\"cmd\"", + "imageFileEntityId": "bba7b47b-c1c1-4021-b568-5b07b9292f5e" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetQueries.json new file mode 100644 index 000000000000..7f76eb99247d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetQueries.json @@ -0,0 +1,456 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "kind": "Insight" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/6db7f5d1-f41e-46c2-b935-230b36a569e6", + "name": "6db7f5d1-f41e-46c2-b935-230b36a569e6", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Actions on account", + "description": "Summary of actions taken on the specified account, grouped by action: password resets and changes, account lockouts (policy or admin), account creation and deletion, account enabled and disabled\n", + "baseQuery": "let GetAccountActions = (v_Account_Name:string, v_Account_NTDomain:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string, v_Account_SID:string){\nAuditLogs\n| where OperationName in~ ('Delete user', 'Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', 'Update user')\n| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)\n| extend Account_Name = tostring(split(UserPrincipalName, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserPrincipalName, '@')[1])\n| extend Action = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0])))\n| extend ModifiedProperty = parse_json(Action).displayName\n| extend ModifiedValue = parse_json(Action).newValue\n| extend Account_AADUserId = tostring(TargetResources[0].id)\n| extend DisableUser = iif(ModifiedProperty =~ 'AccountEnabled' and ModifiedValue =~ '[false]', 'True', 'False')\n| union isfuzzy=true (\nSecurityEvent\n| where EventID in (4720, 4722, 4723, 4724, 4725, 4726, 4740)\n| extend OperationName = tostring(EventID)\n| where AccountType =~ \"user\" or isempty(AccountType)\n| extend Account_Name = TargetUserName, Account_NTDomain = TargetDomainName, Account_SID = TargetSid\n)\n| where (Account_Name =~ v_Account_Name and (Account_UPNSuffix =~ v_Account_UPNSuffix or Account_NTDomain =~ v_Account_NTDomain)) or Account_AADUserId =~ v_Account_AADUserId or Account_SID =~ v_Account_SID\n};\nGetAccountActions('CTFFUser4', '', 'seccxp.ninja', '', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Action", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Most Recent", + "outputType": "Date", + "supportDeepLink": false + }, + { + "header": "Count", + "outputType": "Number", + "supportDeepLink": true + } + ], + "queriesDefinitions": [ + { + "filter": "where OperationName in~ ('Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', '4724', '4723')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Blocked from self-service password reset', '4740')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName == '4725' or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Add user', '4720')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Delete user', '4726')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4725', 'Blocked from self-service password reset', '4740') or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4722', '4767') or (OperationName =~ 'Update user' and DisableUser =~ 'False')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Update user','4738')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Actions by type", + "dataSets": [ + { + "query": "summarize Count = count() by bin(TimeGenerated, 1h), OperationName", + "xColumnName": "TimeGenerated", + "yColumnName": "Count", + "legendColumnName": "OperationName" + } + ], + "type": "BarChart" + }, + "additionalQuery": { + "text": "See all account activity", + "query": "project TimeGenerated, UserPrincipalName, Account_Name, OperationName, Activity, DisableUser, TargetSid, AADUserId, InitiatedBy, AADTenantId, AccountType, Computer, SubjectAccount, SubjectUserSid, EventData" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_NTDomain" + ], + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ], + [ + "Account_SID" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/0a5d7b14-b485-450a-a0ac-4100c860ac32", + "name": "0a5d7b14-b485-450a-a0ac-4100c860ac32", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high office operation count", + "description": "Highlight office operations of the user with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh = 3; \nlet maxAnomalies = 3;\nlet BeforeRange = 12d; \nlet EndTime = todatetime('{{EndTimeUTC}}'); \nlet StartTime = todatetime('{{StartTimeUTC}}');\nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string) { \n OfficeActivity \n | extend splitUserId=split(UserId, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix }; \nuserData('CTFFUser4', 'seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Operation", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "Operation", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where Operation == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous operation timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project Operation, TimeGenerated, count_\n| mvexpand TimeGenerated, count_ | project todatetime(TimeGenerated), toint(count_), Operation\n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "Operation" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous operations", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh | order by maxAnomalyScorePost desc \n| project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "name": "e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Resource access", + "description": "Provides the count and distinct resource accesses by a given user account\n", + "baseQuery": "let Operations = dynamic([\"FileDownloaded\", \"FileUploaded\"]);\nlet UserOperationToSharePoint = (v_Account_Name:string, v_Account_UPNSuffix:string) {\nOfficeActivity\n// Select sharepoint activity that is relevant\n| where RecordType in~ ('SharePointFileOperation')\n| where Operation in~ (Operations)\n| extend Account_Name = tostring(split(UserId, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserId, '@')[1])\n| where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix\n| project TimeGenerated, Account_Name, Account_UPNSuffix, UserId, OfficeId, RecordType, Operation, OrganizationId, UserType, UserKey, OfficeWorkload, OfficeObjectId, ClientIP, ItemType, UserAgent, Site_Url, SourceRelativeUrl, SourceFileName, SourceFileExtension , Start_Time , ElevationTime , TenantId, SourceSystem , Type\n};\nUserOperationToSharePoint ('CTFFUser4','seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Resource Type", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Distinct Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "Total Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "IPAddress(es)", + "outputType": "String", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "where Operation =~ 'FileUploaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where Operation =~ 'FileDownloaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Resource access over time", + "dataSets": [ + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileUploaded'), TotalResources = countif(Operation =~ 'FileUploaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Uploads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + }, + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileDownloaded'), TotalResources = countif(Operation =~ 'FileDownloaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Downloads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "See all resource activity", + "query": "where Operation in~ (Operations)" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "name": "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high Azure sign-in result count", + "description": "Highlight Azure sign-in results by the user principal with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh=3; \nlet maxAnomalies=3; \nlet BeforeRange = 12d; \nlet EndTime=todatetime('{{EndTimeUTC}}');\nlet StartTime = todatetime('{{StartTimeUTC}}'); \nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string) { \n SigninLogs \n | where TimeGenerated between ((StartTime-BeforeRange) .. EndTime)\n | extend splitUserId=split(UserPrincipalName, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where (Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix) or UserId =~ v_Account_AADUserId };\nuserData('CTFFUser4', 'seccxp.ninja', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Result Description", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "ResultDescription", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where ResultDescription == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous sign-in result timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project ResultDescription, TimeGenerated, count_ \n| mvexpand TimeGenerated, count_ \n| project todatetime(TimeGenerated), toint(count_), ResultDescription \n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "ResultDescription" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous sign-in results", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "SigninLogs" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryKeyEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryKeyEntityById.json new file mode 100644 index 000000000000..e6a0f4f2ef96 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryKeyEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "RegistryKey", + "properties": { + "friendlyName": "SOFTWARE", + "hive": "HKEY_LOCAL_MACHINE", + "key": "SOFTWARE" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryValueEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryValueEntityById.json new file mode 100644 index 000000000000..55c5b4ae1927 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetRegistryValueEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "dc44bd11-b348-4d76-ad29-37bf7aa41356" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/dc44bd11-b348-4d76-ad29-37bf7aa41356", + "name": "dc44bd11-b348-4d76-ad29-37bf7aa41356", + "type": "Microsoft.SecurityInsights/entities", + "kind": "RegistryValue", + "properties": { + "friendlyName": "Data", + "valueName": "Name", + "valueData": "Data", + "valueType": "String", + "keyEntityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityAlertEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityAlertEntityById.json new file mode 100644 index 000000000000..0e7fe658b5d7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityAlertEntityById.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "intent": "Unknown", + "alertDisplayName": "Suspicious account detected", + "description": "", + "confidenceLevel": "Unknown", + "severity": "Medium", + "vendorName": "Microsoft", + "productName": "Azure Sentinel", + "productComponentName": "Scheduled Alerts", + "alertType": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b_46c7b6c0-ff43-44dd-8b4d-ceffff7aa7df", + "providerAlertId": "c2bafff9-fb31-41d0-a177-ecbff7a02ffe", + "processingEndTime": "2019-07-06T13:56:53.5392366Z", + "status": "New", + "endTimeUtc": "2021-09-01T13:21:45.926185Z", + "startTimeUtc": "2021-09-01T08:21:45.926185Z", + "timeGenerated": "2021-09-01T13:56:53.5392366Z", + "tactics": [ + "Persistence", + "LateralMovement" + ], + "additionalData": { + "Query": "Heartbeat \n| extend AccountCustomEntity = \"administrator\"", + "Query Period": "05:00:00", + "Trigger Operator": "GreaterThan", + "Trigger Threshold": "200", + "Search Query Results Overall Count": "203", + "Total Account Entities": "1" + }, + "friendlyName": "Suspicious account detected", + "alertLink": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518119885989999999_4aa486e0-6f85-41af-99ea-7acdce7be6c8/subscriptionId/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/myRg/myWorkspace/referencedFrom/alertDeepLink/location/centralus" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityGroupEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityGroupEntityById.json new file mode 100644 index 000000000000..15102c712285 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSecurityGroupEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "SecurityGroup", + "properties": { + "friendlyName": "Name", + "distinguishedName": "Name", + "sid": "Sid", + "objectGuid": "fb1b8e04-d944-4986-b39a-1ce9adedcd98" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSubmissionMailEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSubmissionMailEntityById.json new file mode 100644 index 000000000000..a6f09ed2f1c0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetSubmissionMailEntityById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "SubmissionMail", + "properties": { + "friendlyName": "recipient", + "submissionId": "5bb3d8fe-54bc-499c-bc21-86fe8df2a184", + "submitter": "submitter", + "recipient": "recipient", + "sender": "sender", + "senderIp": "1.4.35.34", + "subject": "subject", + "reportType": "report type" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetUrlEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetUrlEntityById.json new file mode 100644 index 000000000000..876cc5ed7c6e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/GetUrlEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "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": "Url", + "properties": { + "friendlyName": "https://bing.com", + "url": "https://bing.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/expand/PostExpandEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/expand/PostExpandEntity.json new file mode 100644 index 000000000000..601497bbb9e6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/expand/PostExpandEntity.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "expansionId": "a77992f3-25e9-4d01-99a4-5ff606cc410a", + "startTime": "2019-04-25T00:00:00.000Z", + "endTime": "2019-05-26T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "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": "Ip", + "properties": { + "address": "13.89.108.248", + "friendlyName": "13.89.108.248" + } + } + ], + "edges": [ + { + "targetEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/c1d60d86-5988-11eb-ae93-0242ac130002", + "additionalData": { + "EpochTimestamp": "1608289949", + "FirstSeen": "2021-09-01T11:12:29.597Z", + "Source": "Heartbeat" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/insights/PostGetInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/insights/PostGetInsights.json new file mode 100644 index 000000000000..211f1c898b75 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/insights/PostGetInsights.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "addDefaultExtendedTimeRange": false, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z", + "insightQueryIds": [ + "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tableQueryResults": { + "columns": [ + { + "name": "Title", + "type": "string" + }, + { + "name": "NameCount", + "type": "long" + }, + { + "name": "SIDCount", + "type": "long" + }, + { + "name": "InternalOrder", + "type": "long" + }, + { + "name": "Index", + "type": "long" + } + ], + "rows": [ + [ + "MyTitle", + "15", + "SID", + "1", + "1" + ] + ] + }, + "chartQueryResults": [ + { + "columns": [ + { + "name": "TimeGenerated", + "type": "datetime" + }, + { + "name": "Count", + "type": "long" + }, + { + "name": "Legend", + "type": "string" + } + ], + "rows": [ + [ + "2021-09-01T00:00:00.000Z", + "55", + "SomeLegend" + ] + ] + } + ], + "queryTimeInterval": { + "startTime": "2021-09-01T23:35:20Z", + "endTime": "2021-09-01T23:35:20Z" + }, + "queryId": "e29ee1ef-7445-455e-85f1-269f2d536d61" + } + ], + "metaData": { + "totalCount": 7, + "errors": [ + { + "kind": "Insight", + "queryId": "4a70a63d-25c4-6312-b73e-4f302a90c06a", + "errorMessage": "Internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetAllEntityRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetAllEntityRelations.json new file mode 100644 index 000000000000..28221b41530e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetAllEntityRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "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/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/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/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetEntityRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetEntityRelationByName.json new file mode 100644 index 000000000000..f766bd64a5ca --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/relations/GetEntityRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "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/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/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/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/timeline/PostTimelineEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/timeline/PostTimelineEntity.json new file mode 100644 index 000000000000..d5711c7d7d44 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entities/timeline/PostTimelineEntity.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "numberOfBucket": 4, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "SecurityAlert", + "description": "The alert description", + "azureResourceId": "4467341f-fb73-4f99-a9b3-29473532cf5a_bf7c3a2f-b743-6410-3ff0-ec64b5995d50", + "productName": "Azure Sentinel", + "displayName": "Alert display name", + "severity": "Medium", + "endTimeUtc": "2021-09-01T23:31:28.02Z", + "startTimeUtc": "2021-09-01T23:32:28.01Z", + "timeGenerated": "2021-09-01T23:37:25.8136594Z", + "alertType": "4467341f-fb73-4f99-a9b3-29473532cf5a_c93bf33e-055e-4972-9e7d-f84fe3fb61ae", + "Intent": "Discovery" + }, + { + "kind": "Activity", + "queryId": "e0459780-ac9d-4b72-8bd4-fecf6b46a0a1", + "bucketStartTimeUTC": "2021-09-01T21:31:28.02Z", + "bucketEndTimeUTC": "2021-09-01T23:31:28.02Z", + "firstActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "lastActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "content": "he user has deleted the account 3 time(s)", + "title": "The user has deleted an account" + }, + { + "kind": "Anomaly", + "azureResourceId": "4467341f-fb73-4f99-a9b3-29473532cf5a_d56430ef-f421-2c9c-0b7d-d082285843c6", + "description": "Anomalous private to public port scanning activity with high destination port count along with low port ratio. The ratios are normalized by multiplying them by 10,000 to get them to a more usable value between 0.0 and 1.0.", + "productName": "Azure Sentinel", + "displayName": "(Preview) Anomalous scanning activity", + "endTimeUtc": "2021-09-01T23:31:28.02Z", + "startTimeUtc": "2021-09-01T23:32:28.01Z", + "timeGenerated": "2021-09-01T23:37:25.8136594Z", + "vendor": "Microsoft", + "intent": "Discovery", + "techniques": [ + "T1046" + ], + "reasons": [ + "High destination port count", + "Low port ratio" + ] + } + ], + "metaData": { + "totalCount": 6, + "aggregations": [ + { + "count": 4, + "kind": "Activity" + }, + { + "count": 2, + "kind": "SecurityAlert" + }, + { + "count": 1, + "kind": "Anomaly" + } + ], + "errors": [ + { + "kind": "Activity", + "queryId": "11067f9f-d6a7-4488-887f-0ba564268879", + "errorMessage": "syntax error" + }, + { + "kind": "SecurityAlert", + "errorMessage": "internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/CreateEntityQueryActivity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/CreateEntityQueryActivity.json new file mode 100644 index 000000000000..902eae9e2a78 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/CreateEntityQueryActivity.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "entityQuery": { + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/DeleteEntityQuery.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/DeleteEntityQuery.json new file mode 100644 index 000000000000..d0b93287bc37 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/DeleteEntityQuery.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetActivityEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetActivityEntityQueryById.json new file mode 100644 index 000000000000..3181dd43115d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetActivityEntityQueryById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetEntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetEntityQueries.json new file mode 100644 index 000000000000..97b2aa87a21d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetEntityQueries.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "kind": "Expansion", + "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/entityQueries/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count asc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Least active accounts on Azure from this IP" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count desc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Most active accounts on Azure from this IP" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json new file mode 100644 index 000000000000..eec7bb0a2bd4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let GetParentProcessesOnHost = (v_Host_HostName:string){\r\n SecurityEvent \r\n | where EventID == 4688 \r\n | where isnotempty(ParentProcessName)\r\n | where NewProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe' and ParentProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe'\r\n and NewProcessName!contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe' and ParentProcessName !contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe'\r\n and ParentProcessName !contains ':\\\\Windows\\\\CCM\\\\CcmExec.exe'\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\svchost.exe' and (NewProcessName !contains ':\\\\Windows\\\\System32\\\\wbem\\\\WmiPrvSE.exe' or NewProcessName !contains ':\\\\Windows\\\\SysWOW64\\\\wbem\\\\WmiPrvSE.exe'))\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\services.exe' and NewProcessName !contains ':\\\\Windows\\\\servicing\\\\TrustedInstaller.exe')\r\n | where toupper(Computer) contains v_Host_HostName or toupper(WorkstationName) contains v_Host_HostName\r\n | summarize min(TimeGenerated), max(TimeGenerated) by Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project min_TimeGenerated, max_TimeGenerated, Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project-rename Process_Host_UnstructuredName=Computer, Process_Account_UnstructuredName=Account, Process_CommandLine=CommandLine, Process_ProcessId=ProcessId, Process_ImageFile_FullPath=NewProcessName, Process_ParentProcess_ImageFile_FullPath=ParentProcessName\r\n | top 10 by min_TimeGenerated asc};\r\n GetParentProcessesOnHost(toupper(''))", + "inputFields": [ + "hostName" + ], + "outputEntityTypes": [ + "Process" + ], + "dataSources": [ + "SecurityEvent" + ], + "inputEntityType": "Host", + "displayName": "Parent processes running on host" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json new file mode 100644 index 000000000000..0538d257be0c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryTemplateId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueryTemplate", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json new file mode 100644 index 000000000000..15ea39ee2dfb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "kind": "Activity", + "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/entityQueryTemplates/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/CreateFileImport.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/CreateFileImport.json new file mode 100644 index 000000000000..79c183d56e23 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/CreateFileImport.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "fileImportId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "fileImport": { + "properties": { + "source": "mySource", + "importFile": { + "fileName": "myFile.json", + "fileSize": 4653, + "fileFormat": "JSON" + }, + "contentType": "StixIndicator", + "ingestionMode": "IngestAnyValidRecords" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/FileImports/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/FileImports", + "properties": { + "importFile": { + "fileName": "myFile.json", + "fileSize": 4653, + "fileFormat": "JSON", + "fileContentUri": "https://sentinelimportswus2.blob.core.windows.net/78c2e51a-3cd3-4ca0-a2d4-e7effb9a05fe/43967a5e-47a7-474e-afb8-2081e9b99ca1/fileName.json?skoid=&sktid=&skt=2022-03-25T21%3A12%3A51Z&ske=2022-03-25T22%3A12%3A51Z&sks=b&skv=2020-10-02&sv=2020-08-04&st=2022-03-25T21%3A12%3A51Z&se=2022-03-25T22%3A12%3A51Z&sr=b&sp=c&sig=", + "deleteStatus": "NotDeleted" + }, + "state": "WaitingForUpload", + "contentType": "StixIndicator", + "ingestionMode": "IngestAnyValidRecords", + "totalRecordCount": null, + "validRecordCount": null, + "ingestedRecordCount": null, + "createdTimeUTC": "2022-04-04T20:05:59.847136Z", + "filesValidUntilTimeUTC": "2022-04-05T20:05:59.8471361Z", + "importValidUntilTimeUTC": "2022-05-04T20:05:59.8471366Z", + "source": "mySource" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/DeleteFileImport.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/DeleteFileImport.json new file mode 100644 index 000000000000..61ab4030d325 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/DeleteFileImport.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "fileImportId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/FileImports/73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/FileImports/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/FileImports", + "properties": { + "importFile": { + "fileName": "myFile.json", + "fileSize": 5146, + "fileFormat": "JSON", + "fileContentUri": null, + "deleteStatus": "NotDeleted" + }, + "state": "Ingested", + "contentType": "StixIndicator", + "ingestionMode": "IngestAnyValidRecords", + "totalRecordCount": 5, + "validRecordCount": 5, + "ingestedRecordCount": 5, + "createdTimeUTC": "2022-03-25T21:02:38.8350631Z", + "filesValidUntilTimeUTC": "2022-03-26T21:02:38.8350632Z", + "importValidUntilTimeUTC": "2022-04-24T21:02:38.8350636Z", + "source": "mySource" + } + } + }, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImportById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImportById.json new file mode 100644 index 000000000000..565a62b5a3a8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImportById.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "fileImportId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/FileImports/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/FileImports", + "properties": { + "importFile": { + "fileName": "myFile.json", + "fileSize": 5146, + "fileFormat": "JSON", + "fileContentUri": "https://sentinelimportswus2.blob.core.windows.net/78c2e51a-3cd3-4ca0-a2d4-e7effb9a05fe/43967a5e-47a7-474e-afb8-2081e9b99ca1/myFile.json?skoid=&sktid=&skt=2022-03-25T21%3A12%3A51Z&ske=2022-03-25T22%3A12%3A51Z&sks=b&skv=2020-10-02&sv=2020-08-04&st=2022-03-25T21%3A12%3A51Z&se=2022-03-25T22%3A12%3A51Z&sr=b&sp=c&sig=", + "deleteStatus": "NotDeleted" + }, + "state": "Ingested", + "contentType": "StixIndicator", + "ingestionMode": "IngestAnyValidRecords", + "totalRecordCount": 5, + "validRecordCount": 5, + "ingestedRecordCount": 5, + "createdTimeUTC": "2022-03-25T21:02:38.8350631Z", + "filesValidUntilTimeUTC": "2022-03-26T21:02:38.8350632Z", + "importValidUntilTimeUTC": "2022-04-24T21:02:38.8350636Z", + "source": "mySource" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImports.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImports.json new file mode 100644 index 000000000000..d686a57dc3dc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/fileImports/GetFileImports.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/FileImports/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/FileImports", + "properties": { + "importFile": { + "fileName": "fileName.json", + "fileSize": 5146, + "fileFormat": "JSON", + "fileContentUri": null, + "deleteStatus": "NotDeleted" + }, + "state": "Ingested", + "contentType": "StixIndicator", + "ingestionMode": "IngestAnyValidRecords", + "totalRecordCount": 5, + "validRecordCount": 5, + "ingestedRecordCount": 5, + "createdTimeUTC": "2022-03-25T21:02:38.8350631Z", + "filesValidUntilTimeUTC": "2022-03-26T21:02:38.8350632Z", + "importValidUntilTimeUTC": "2022-04-24T21:02:38.8350636Z", + "source": "mySource" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHunt.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHunt.json new file mode 100644 index 000000000000..72dde0c5da3c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHunt.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "hunt": { + "properties": { + "displayName": "Log4J new hunt", + "description": "Log4J Hunt Description", + "status": "New", + "hypothesisStatus": "Unknown", + "attackTactics": [ + "Reconnaissance" + ], + "attackTechniques": [ + "T1595" + ], + "labels": [ + "Label1", + "Label2" + ], + "owner": { + "objectId": "873b5263-5d34-4149-b356-ad341b01e123" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f", + "name": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "etag": "\"de00c408-0000-0c00-0000-62741e350000\"", + "type": "Microsoft.SecurityInsights/hunts", + "properties": { + "displayName": "Log4J new hunt", + "description": "Log4J Hunt Description", + "status": "New", + "hypothesisStatus": "Unknown", + "attackTactics": [ + "Reconnaissance" + ], + "attackTechniques": [ + "T1595" + ], + "huntStartTimeUtc": "2022-03-11T09:47:15.438Z", + "huntEndTimeUtc": "2022-03-12T09:47:15.438Z", + "labels": [ + "Label1", + "Label2" + ], + "owner": { + "objectId": "873b5263-5d34-4149-b356-ad341b01e123", + "email": "testemail@microsoft.com", + "assignedTo": null, + "userPrincipalName": "John Doe", + "ownerType": "User" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f", + "name": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "etag": "\"de00c408-0000-0c00-0000-62741e350000\"", + "type": "Microsoft.SecurityInsights/hunts", + "properties": { + "displayName": "Log4J new hunt", + "description": "Log4J Hunt Description", + "status": "New", + "hypothesisStatus": "Unknown", + "attackTactics": [ + "Reconnaissance" + ], + "attackTechniques": [ + "T1595" + ], + "huntSequenceNumber": 0, + "huntStartTimeUtc": "2022-03-11T09:47:15.438Z", + "huntEndTimeUtc": "2022-03-12T09:47:15.438Z", + "labels": [ + "Label1", + "Label2" + ], + "owner": { + "objectId": "873b5263-5d34-4149-b356-ad341b01e123", + "email": "testemail@microsoft.com", + "assignedTo": null, + "userPrincipalName": "John Doe", + "ownerType": "User" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntComment.json new file mode 100644 index 000000000000..955769b74408 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntComment.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntCommentId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "huntComment": { + "properties": { + "message": "This is a test comment." + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/comments/2216d0e1-91e3-4902-89fd-d2df8c123456", + "name": "2216d0e1-91e3-4902-89fd-d2df8c123456", + "etag": "\"3102f74d-0000-0c00-0000-629e6e050000\"", + "type": "Microsoft.SecurityInsights/hunts/comments", + "systemData": { + "createdAt": "2021-08-15T16:42:38.8709453Z", + "createdBy": "testuser@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2021-08-19T16:42:38.8709453Z", + "lastModifiedBy": "testuser@microsoft.com", + "lastModifiedByType": "User" + }, + "properties": { + "message": "This is a test comment." + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/comments/2216d0e1-91e3-4902-89fd-d2df8c123456", + "name": "2216d0e1-91e3-4902-89fd-d2df8c123456", + "etag": "\"3102f74d-0000-0c00-0000-629e6e050000\"", + "type": "Microsoft.SecurityInsights/hunts/comments", + "systemData": { + "createdAt": "2021-08-15T16:42:38.8709453Z", + "createdBy": "testuser@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2021-08-19T16:42:38.8709453Z", + "lastModifiedBy": "testuser@microsoft.com", + "lastModifiedByType": "User" + }, + "properties": { + "message": "This is a test comment." + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntRelation.json new file mode 100644 index 000000000000..49f8f71d6ca2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/CreateHuntRelation.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntRelationId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "huntRelation": { + "properties": { + "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "labels": [ + "Test Label" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/relations/2216d0e1-91e3-4902-89fd-d2df8c535096", + "name": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "etag": "\"26012da2-0000-0c00-0000-627ad2760000\"", + "type": "Microsoft.SecurityInsights/hunts/relations", + "properties": { + "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/Bookmarks", + "labels": [ + "Test Label" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/relations/2216d0e1-91e3-4902-89fd-d2df8c535096", + "name": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "etag": "\"26012da2-0000-0c00-0000-627ad2760000\"", + "type": "Microsoft.SecurityInsights/hunts/relations", + "properties": { + "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/Bookmarks", + "labels": [ + "Test Label" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHunt.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHunt.json new file mode 100644 index 000000000000..88093837e527 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHunt.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntComment.json new file mode 100644 index 000000000000..d2b0f7a6992b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntComment.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntCommentId": "2216d0e1-91e3-4902-89fd-d2df8c123456" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntRelation.json new file mode 100644 index 000000000000..911830f33982 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/DeleteHuntRelation.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntRelationId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntById.json new file mode 100644 index 000000000000..c59d9d4c9674 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f", + "name": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "etag": "\"de00c408-0000-0c00-0000-62741e350000\"", + "type": "Microsoft.SecurityInsights/hunts", + "properties": { + "displayName": "Log4J new hunt ", + "description": "Log4J Hunt Description", + "status": "New", + "hypothesisStatus": "Unknown", + "attackTactics": [ + "Reconnaissance" + ], + "attackTechniques": [ + "T1595" + ], + "labels": [ + "Label1", + "Label2" + ], + "owner": { + "objectId": "873b5263-5d34-4149-b356-ad341b01e123", + "email": "testemail@microsoft.com", + "assignedTo": null, + "userPrincipalName": "John Doe", + "ownerType": "User" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntCommentById.json new file mode 100644 index 000000000000..e135f5741a7b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntCommentById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntCommentId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/comments/2216d0e1-91e3-4902-89fd-d2df8c123456", + "name": "2216d0e1-91e3-4902-89fd-d2df8c123456", + "etag": "\"3102f74d-0000-0c00-0000-629e6e050000\"", + "type": "Microsoft.SecurityInsights/hunts/comments", + "systemData": { + "createdAt": "2021-08-15T16:42:38.8709453Z", + "createdBy": "testuser@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2021-08-19T16:42:38.8709453Z", + "lastModifiedBy": "testuser@microsoft.com", + "lastModifiedByType": "User" + }, + "properties": { + "message": "This is a comment." + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntComments.json new file mode 100644 index 000000000000..34210abf2705 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntComments.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/comments/2216d0e1-91e3-4902-89fd-d2df8c123456", + "name": "2216d0e1-91e3-4902-89fd-d2df8c123456", + "etag": "\"3102f74d-0000-0c00-0000-629e6e050000\"", + "type": "Microsoft.SecurityInsights/hunts/comments", + "properties": { + "message": "This is a test comment." + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelationById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelationById.json new file mode 100644 index 000000000000..8721f0382076 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelationById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f", + "huntRelationId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/relations/2216d0e1-91e3-4902-89fd-d2df8c535096", + "name": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "etag": "\"26012da2-0000-0c00-0000-627ad2760000\"", + "type": "Microsoft.SecurityInsights/hunts/relations", + "properties": { + "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/Bookmarks", + "labels": [ + "label1" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelations.json new file mode 100644 index 000000000000..e2778a9f733a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHuntRelations.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "huntId": "163e7b2a-a2ec-4041-aaba-d878a38f265f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/hunts/163e7b2a-a2ec-4041-aaba-d878a38f265f/relations/2216d0e1-91e3-4902-89fd-d2df8c535096", + "name": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "etag": "\"26012da2-0000-0c00-0000-627ad2760000\"", + "type": "Microsoft.SecurityInsights/hunts/relations", + "properties": { + "relatedResourceId": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirint/providers/Microsoft.SecurityInsights/Bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/Bookmarks", + "labels": [ + "label1" + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHunts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHunts.json new file mode 100644 index 000000000000..b210756fe08f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/hunts/GetHunts.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/hunts/b372ee75-2cad-4b71-8917-d5d5df9315b5", + "name": "b372ee75-2cad-4b71-8917-d5d5df9315b5", + "etag": "\"de00c408-0000-0c00-0000-62741e350000\"", + "type": "Microsoft.SecurityInsights/hunts", + "properties": { + "displayName": "Log4J new hunt", + "description": "Log4J Hunt Description", + "status": "New", + "hypothesisStatus": "Unknown", + "attackTactics": [ + "Reconnaissance" + ], + "attackTechniques": [ + "T1595" + ], + "labels": [ + "Label1", + "Label2" + ], + "owner": { + "objectId": "873b5263-5d34-4149-b356-ad341b01e123", + "email": "testemail@microsoft.com", + "assignedTo": null, + "userPrincipalName": "John Doe", + "ownerType": "User" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentAlerts/Incidents_ListAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentAlerts/Incidents_ListAlerts.json new file mode 100644 index 000000000000..59a3ae002d66 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentAlerts/Incidents_ListAlerts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600" + }, + "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.615Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.615Z", + "startTimeUtc": "2020-07-20T18:21:53.615Z", + "timeGenerated": "2020-07-20T18:21:53.615Z", + "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/preview/2023-07-01-preview/examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json new file mode 100644 index 000000000000..aff78b2915cf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentBookmarks/Incidents_ListBookmarks.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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.426+00:00", + "updated": "2020-06-17T15:34:01.426+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@contoso.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@contoso.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.426+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/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json new file mode 100644 index 000000000000..ea5cf7521a2a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_CreateOrUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T13:15:30Z", + "author": { + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T13:15:30Z", + "author": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Delete.json new file mode 100644 index 000000000000..2e4d6508587c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Get.json new file mode 100644 index 000000000000..f4f6e61bb7d3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_List.json new file mode 100644 index 000000000000..577907d65cdd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentComments/IncidentComments_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentEntities/Incidents_ListEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentEntities/Incidents_ListEntities.json new file mode 100644 index 000000000000..dc0a905f1d3a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentEntities/Incidents_ListEntities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600" + }, + "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": { + "accountName": "administrator", + "ntDomain": "domain", + "friendlyName": "administrator" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json new file mode 100644 index 000000000000..4c324b3eec70 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_CreateOrUpdate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentTaskId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentTask": { + "properties": { + "title": "Task title", + "description": "Task description", + "status": "New" + } + } + }, + "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/tasks/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/tasks", + "properties": { + "title": "Task title", + "description": "Task description", + "status": "New", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "lastModifiedBy": { + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/tasks/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/tasks", + "properties": { + "title": "Task title", + "description": "Task description", + "status": "New", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "lastModifiedBy": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Delete.json new file mode 100644 index 000000000000..f98aa74e82c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentTaskId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Get.json new file mode 100644 index 000000000000..f6c87b678ff5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentTaskId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "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/tasks/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/tasks", + "properties": { + "title": "Task title", + "description": "Task description", + "status": "New", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "lastModifiedBy": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_List.json new file mode 100644 index 000000000000..61bac8b76598 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTasks/IncidentTasks_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/tasks/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "type": "Microsoft.SecurityInsights/incidents/tasks", + "properties": { + "title": "Task title", + "description": "Task description", + "status": "New", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "lastModifiedBy": { + "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/preview/2023-07-01-preview/examples/incidents/IncidentTeam/Incidents_CreateTeam.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTeam/Incidents_CreateTeam.json new file mode 100644 index 000000000000..5fa65f7d4510 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/IncidentTeam/Incidents_CreateTeam.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600", + "teamProperties": { + "teamName": "Team name", + "teamDescription": "Team description", + "groupIds": null, + "memberIds": null + } + }, + "responses": { + "200": { + "body": { + "teamId": "99978838-9bda-4ad4-8f93-4cf7ebc50ca5", + "primaryChannelUrl": "https://teams.microsoft.com/l/team/19:80bf3b25485b4067b7d2dc4eec9e1578%40thread.tacv2/conversations?groupId=99978838-9bda-4ad4-8f93-4cf7ebc50ca5&tenantId=5b5a146c-eba8-46af-96f8-e31b50d15a3f", + "teamCreationTimeUtc": "2021-03-15T17:08:21.995Z", + "name": "Team name", + "description": "Team description" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_CreateOrUpdate.json new file mode 100644 index 000000000000..750c2dcff52b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_CreateOrUpdate.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "My incident", + "description": "This is a demo incident", + "severity": "High", + "status": "Closed", + "classification": "FalsePositive", + "classificationReason": "InaccurateData", + "classificationComment": "Not a malicious activity", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": null, + "assignedTo": null, + "userPrincipalName": null, + "ownerType": null + }, + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z" + } + } + }, + "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", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "type": "Microsoft.SecurityInsights/incidents", + "properties": { + "title": "My incident", + "description": "This is a demo incident", + "severity": "High", + "status": "Closed", + "classification": "FalsePositive", + "classificationReason": "InaccurateData", + "classificationComment": "Not a malicious activity", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "assignedTo": "john doe", + "userPrincipalName": "john@contoso.com", + "ownerType": "User" + }, + "labels": [], + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "incidentNumber": 3177, + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + }, + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "providerName": "Azure Sentinel", + "providerIncidentId": "3177" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "type": "Microsoft.SecurityInsights/incidents", + "properties": { + "title": "My incident", + "description": "This is a demo incident", + "severity": "High", + "status": "Closed", + "classification": "FalsePositive", + "classificationReason": "InaccurateData", + "classificationComment": "Not a malicious activity", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "assignedTo": "john doe", + "userPrincipalName": "john@contoso.com", + "ownerType": "User" + }, + "labels": [], + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "incidentNumber": 3177, + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + }, + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "providerName": "Azure Sentinel", + "providerIncidentId": "3177" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_Delete.json new file mode 100644 index 000000000000..5af60e6c1439 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/incidents/Incidents_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_Get.json new file mode 100644 index 000000000000..53fe7f4ef9af --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_Get.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/incidents", + "properties": { + "title": "My incident", + "description": "This is a demo incident", + "severity": "High", + "status": "Closed", + "classification": "FalsePositive", + "classificationReason": "InaccurateData", + "classificationComment": "Not a malicious activity", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "assignedTo": "john doe", + "userPrincipalName": "john@contoso.com", + "ownerType": "User" + }, + "labels": [], + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "incidentNumber": 3177, + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + }, + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "providerName": "Azure Sentinel", + "providerIncidentId": "3177" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_List.json new file mode 100644 index 000000000000..99909b79c8b1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/Incidents_List.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/incidents", + "properties": { + "title": "My incident", + "description": "This is a demo incident", + "severity": "High", + "status": "Closed", + "classification": "FalsePositive", + "classificationReason": "InaccurateData", + "classificationComment": "Not a malicious activity", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "assignedTo": "john doe", + "userPrincipalName": "john@contoso.com", + "ownerType": "User" + }, + "labels": [], + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "incidentNumber": 3177, + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + }, + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "providerName": "Azure Sentinel", + "providerIncidentId": "3177" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/CreateIncidentRelation.json new file mode 100644 index 000000000000..1fbbfcfbd3a2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/CreateIncidentRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/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.OperationalIinsights/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.OperationalIinsights/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.OperationalIinsights/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.OperationalIinsights/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/preview/2023-07-01-preview/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/DeleteIncidentRelation.json new file mode 100644 index 000000000000..533db71ee157 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/DeleteIncidentRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/GetAllIncidentRelations.json new file mode 100644 index 000000000000..f139f77dff9a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/GetAllIncidentRelations.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/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.OperationalIinsights/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.OperationalIinsights/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.OperationalIinsights/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/preview/2023-07-01-preview/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/GetIncidentRelationByName.json new file mode 100644 index 000000000000..28d255c12871 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/incidents/relations/GetIncidentRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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.OperationalIinsights/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.OperationalIinsights/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/preview/2023-07-01-preview/examples/manualTrigger/Entities_RunPlaybook.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/manualTrigger/Entities_RunPlaybook.json new file mode 100644 index 000000000000..9584bed38f82 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/manualTrigger/Entities_RunPlaybook.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityIdentifier": "72e01a22-5cd2-4139-a149-9f2736ff2ar2", + "manualTriggerRequestBody": { + "logicAppsResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/my-playbook-name", + "tenantId": "qwere6b2-9ac0-4464-9919-dccaee2e4ddd", + "incidentArmId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/manualTrigger/Incidents_RunPlaybook.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/manualTrigger/Incidents_RunPlaybook.json new file mode 100644 index 000000000000..1266839cb22c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/manualTrigger/Incidents_RunPlaybook.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentIdentifier": "73e01a99-5cd7-4139-a149-9f2736ff2ar4", + "manualTriggerRequestBody": { + "logicAppsResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/my-playbook-name", + "tenantId": "qwere6b2-9ac0-4464-9919-dccaee2e4ddd" + } + }, + "responses": { + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/DeleteMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/DeleteMetadata.json new file mode 100644 index 000000000000..edcc3641f60a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/DeleteMetadata.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetAllMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetAllMetadata.json new file mode 100644 index 000000000000..0d166890f5b2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetAllMetadata.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/metadata/GetAllMetadataOData.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetAllMetadataOData.json new file mode 100644 index 000000000000..4c71da843ad3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetAllMetadataOData.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/metadata/GetMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetMetadata.json new file mode 100644 index 000000000000..a7acb460602c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/GetMetadata.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/metadata/PatchMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PatchMetadata.json new file mode 100644 index 000000000000..5b5c31a94ad5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PatchMetadata.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/metadata/PutMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PutMetadata.json new file mode 100644 index 000000000000..4946491adba3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PutMetadata.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/metadata/PutMetadataMinimal.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PutMetadataMinimal.json new file mode 100644 index 000000000000..89b13360fad8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/metadata/PutMetadataMinimal.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/officeConsents/DeleteOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/DeleteOfficeConsents.json new file mode 100644 index 000000000000..7cc30dc9290c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/DeleteOfficeConsents.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsents.json new file mode 100644 index 000000000000..3dc8d40d2c4b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsents.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsentsById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsentsById.json new file mode 100644 index 000000000000..64c63a66fc54 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/officeConsents/GetOfficeConsentsById.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json new file mode 100644 index 000000000000..69a80be1a880 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default", + "sentinelOnboardingStateParameter": { + "properties": { + "customerManagedKey": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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.OperationalIinsights/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/preview/2023-07-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json new file mode 100644 index 000000000000..09974678ed01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json new file mode 100644 index 000000000000..bf5a79dfa525 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json new file mode 100644 index 000000000000..b7a567434ff2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/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/preview/2023-07-01-preview/examples/operations/ListOperations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/operations/ListOperations.json new file mode 100644 index 000000000000..a2fbd89ffe78 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/operations/ListOperations.json @@ -0,0 +1,563 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview" + }, + "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/preview/2023-07-01-preview/examples/recommendations/GetRecommendation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/GetRecommendation.json new file mode 100644 index 000000000000..346008549876 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/GetRecommendation.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "recommendationId": "6d4b54eb-8684-4aa3-a156-3aa37b8014bc" + }, + "responses": { + "200": { + "body": { + "recommendationTypeId": "Swagger_Example", + "id": "6d4b54eb-8684-4aa3-a156-3aa37b8014bc", + "priority": "Medium", + "category": "Onboarding", + "context": "None", + "content": { + "title": "someText", + "description": "someText" + }, + "resourceId": "someId", + "recommendationTypeTitle": "someText", + "recommendationTypeDescription": "someText", + "instructions": { + "actionsToBePerformed": "someText", + "recommendationImportance": "someText" + }, + "additionalProperties": { + "someKey": "someValue" + }, + "title": "someText", + "description": "someText", + "workspaceId": "9a7711dc-40de-43b5-bf7e-ba25ec4592f3", + "actions": [ + { + "linkText": "someText", + "linkUrl": "https://www.someuri.com", + "state": "Active" + } + ], + "state": "CompletedByAction", + "hideUntilTimeUtc": "2022-02-19T03:09:03.4888396+00:00", + "displayUntilTimeUtc": "2022-02-19T03:57:31.7964447+00:00", + "lastEvaluatedTimeUtc": "2022-02-19T03:09:03.4888396+00:00" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/GetRecommendations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/GetRecommendations.json new file mode 100644 index 000000000000..eb0d866720f8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/GetRecommendations.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recommendationTypeId": "ThreatIntelligence_Example", + "id": "6d4b54eb-8684-4aa3-a156-3aa37b8014bc", + "priority": "Medium", + "category": "Onboarding", + "context": "None", + "content": { + "title": "someText", + "description": "someText" + }, + "resourceId": "someId", + "recommendationTypeTitle": "someText", + "recommendationTypeDescription": "someText", + "instructions": { + "actionsToBePerformed": "someText", + "recommendationImportance": "someText" + }, + "additionalProperties": { + "someKey": "someValue" + }, + "title": "someText", + "description": "someText", + "workspaceId": "9a7711dc-40de-43b5-bf7e-ba25ec4592f3", + "actions": [ + { + "linkText": "someText", + "linkUrl": "https://www.someuri.com", + "state": "Active" + } + ], + "state": "CompletedByAction", + "hideUntilTimeUtc": "2022-02-19T03:09:03.4888396+00:00", + "displayUntilTimeUtc": "2022-02-19T03:57:31.7964447+00:00", + "lastEvaluatedTimeUtc": "2022-02-19T03:09:03.4888396+00:00" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/PatchRecommendation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/PatchRecommendation.json new file mode 100644 index 000000000000..ca6c1ecba9b8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/recommendations/PatchRecommendation.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "recommendationId": "6d4b54eb-8684-4aa3-a156-3aa37b8014bc", + "recommendationPatch": [ + { + "state": "Active" + } + ] + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SecurityInsights/recommendations/6d4b54eb-8684-4aa3-a156-3aa37b8014bc?api-version=2023-07-01-preview" + }, + "body": { + "recommendationTypeId": "ThreatIntelligence_Example", + "id": "6d4b54eb-8684-4aa3-a156-3aa37b8014bc", + "priority": "Medium", + "category": "Onboarding", + "context": "None", + "content": { + "title": "someText", + "description": "someText" + }, + "resourceId": "someId", + "recommendationTypeTitle": "someText", + "recommendationTypeDescription": "someText", + "instructions": { + "actionsToBePerformed": "someText", + "recommendationImportance": "someText" + }, + "additionalProperties": { + "someKey": "someValue" + }, + "title": "someText", + "description": "someText", + "workspaceId": "9a7711dc-40de-43b5-bf7e-ba25ec4592f3", + "actions": [ + { + "linkText": "someText", + "linkUrl": "https://www.someuri.com", + "state": "Active" + } + ], + "state": "CompletedByUser", + "hideUntilTimeUtc": "2022-02-19T03:09:03.4888396+00:00", + "displayUntilTimeUtc": "2022-02-19T03:57:31.7964447+00:00", + "lastEvaluatedTimeUtc": "2022-02-19T03:09:03.4888396+00:00" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/repositories/GetRepositories.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/repositories/GetRepositories.json new file mode 100644 index 000000000000..cb121b22c0ca --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/repositories/GetRepositories.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "repoType": "Github", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://api.github.com/repos/user/reponame", + "fullName": "reponame", + "branches": [ + "master", + "develop" + ] + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..f5e12afa8e44 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/CreateAnomalySecurityMLAnalyticsSetting.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..c81898f12edf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/DeleteSecurityMLAnalyticsSetting.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json new file mode 100644 index 000000000000..538692bda62c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAllSecurityMLAnalyticsSettings.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json new file mode 100644 index 000000000000..d48c862a8c26 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/securityMLAnalyticsSettings/GetAnomalySecurityMLAnalyticsSetting.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/settings/DeleteEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/DeleteEyesOnSetting.json new file mode 100644 index 000000000000..8142b27418ec --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/DeleteEyesOnSetting.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetAllSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetAllSettings.json new file mode 100644 index 000000000000..19153c30fe94 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetAllSettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetEyesOnSetting.json new file mode 100644 index 000000000000..443f6dff644e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/GetEyesOnSetting.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/UpdateEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/UpdateEyesOnSetting.json new file mode 100644 index 000000000000..874aeb8d09db --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/settings/UpdateEyesOnSetting.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn", + "settings": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/CreateSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/CreateSourceControl.json new file mode 100644 index 000000000000..87c9cf241476 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/CreateSourceControl.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/sourcecontrols/DeleteSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/DeleteSourceControl.json new file mode 100644 index 000000000000..1b19ff52c416 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/DeleteSourceControl.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "repositoryAccess": { + "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/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControlById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControlById.json new file mode 100644 index 000000000000..21594cd205d2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControlById.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControls.json new file mode 100644 index 000000000000..7c7dff39172c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/sourcecontrols/GetSourceControls.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..aa5edb3e2948 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTags": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..b7409c71fab1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2021-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/preview/2023-07-01-preview/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..080df5f89c8b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-09-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": "2021-09-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": "2021-09-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": "2021-09-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-09-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": "2021-09-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..52787e9d3c50 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..8cf679eda719 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "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": "2021-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-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": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..f4f6389a4fd6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..f7db78428cd0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ThreatIntelligenceFilteringCriteria": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2021-04-05T17:44:00.114052Z", + "maxValidUntil": "2021-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": "2021-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": "2021-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": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..4e30f2afcdf5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json new file mode 100644 index 000000000000..bab51708cc01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "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": "2021-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": "2021-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": "2021-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-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": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggerRuleRun_Post.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggerRuleRun_Post.json new file mode 100644 index 000000000000..42263eea5f8f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggerRuleRun_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "analyticsRuleRunTriggerParameter": { + "properties": { + "executionTimeUtc": "2022-12-22T15:37:03.074Z" + } + } + }, + "responses": { + "202": { + "headers": { + "Code": "202", + "Message": "Accepted", + "Location": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns/5abbc58b-9655-4f9b-80ac-5a576753e4ec?api-version=2023-07-01-preview" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRun_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRun_Get.json new file mode 100644 index 000000000000..c42f79ae9fd9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRun_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleRunId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/TriggeredAnalyticsRuleRuns", + "properties": { + "executionTimeUtc": "2022-12-22T15:37:03.074Z", + "ruleId": "358e16da-ab76-4027-89e1-15937a6ed401", + "triggeredAnalyticsRuleRunId": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "provisioningState": "InProgress", + "ruleRunAdditionalData": { + "auditCorrelationId": "b8540a76-cb05-4a9b-8d52-9959b509e4ad", + "createdBy": "user@microsoft.com", + "healthCorrelationId": "dadd8fdc-fc7a-4005-a289-4e164cb75093" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRuns_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRuns_Get.json new file mode 100644 index 000000000000..6f0e83f957c9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/triggeredAnalyticsRuleRuns/triggeredAnalyticsRuleRuns_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/triggeredAnalyticsRuleRuns/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/TriggeredAnalyticsRuleRuns", + "properties": { + "executionTimeUtc": "2022-12-22T15:37:03.074Z", + "ruleId": "358e16da-ab76-4027-89e1-15937a6ed401", + "triggeredAnalyticsRuleRunId": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "provisioningState": "InProgress", + "ruleRunAdditionalData": { + "auditCorrelationId": "b8540a76-cb05-4a9b-8d52-9959b509e4ad", + "createdBy": "user@microsoft.com", + "healthCorrelationId": "dadd8fdc-fc7a-4005-a289-4e164cb75093" + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/triggeredAnalyticsRuleRuns/1f62ea0f-2d25-4b65-bd4d-bb9114bcbd9c", + "name": "1f62ea0f-2d25-4b65-bd4d-bb9114bcbd9c", + "type": "Microsoft.SecurityInsights/TriggeredAnalyticsRuleRuns", + "properties": { + "executionTimeUtc": "2022-12-20T15:37:03.074Z", + "ruleId": "358e16da-ab76-4027-89e1-15937a6ed401", + "triggeredAnalyticsRuleRunId": "1f62ea0f-2d25-4b65-bd4d-bb9114bcbd9c", + "provisioningState": "Succeeded", + "ruleRunAdditionalData": { + "auditCorrelationId": "763f9dae-1027-44b9-a34a-589404693670", + "createdBy": "user2@microsoft.com", + "healthCorrelationId": "b3c165ec-f53e-48c1-9677-216d9e930912" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..a5a369f21c3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "watchlist.csv", + "sourceType": "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": "watchlist.csv", + "sourceType": "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": "watchlist.csv", + "sourceType": "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/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json new file mode 100644 index 000000000000..8d8ef6b7ae09 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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": "watchlist.csv", + "sourceType": "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": "watchlist.csv", + "sourceType": "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": "watchlist.csv", + "sourceType": "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/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistItem.json new file mode 100644 index 000000000000..d747d48082fc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/CreateWatchlistItem.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..4e3f4a1a9132 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SecurityInsights/watchlists/1011-01/watchlistStatuses/00000000-0000-0000-0000-000000000000?api-version=2023-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlistItem.json new file mode 100644 index 000000000000..d6d40c4cba47 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/DeleteWatchlistItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..d024e90c148b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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": "watchlist.csv", + "sourceType": "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/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItemById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItemById.json new file mode 100644 index 000000000000..5d80561ec029 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItemById.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "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/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItems.json new file mode 100644 index 000000000000..3c72d28cc37e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlistItems.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/preview/2023-07-01-preview/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..a881cb7aa79a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/watchlists/GetWatchlists.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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": "watchlist.csv", + "sourceType": "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/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateJob.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateJob.json new file mode 100644 index 000000000000..3024ea6176c4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateJob.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "jobName": "cfbe1338-8276-4d5d-8b96-931117f9fa0e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58/jobs/cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "etag": "\"f20a2523-7817-47b5-a3b2-21539c00c788\"", + "name": "cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments/jobs", + "properties": { + "startTime": "2022-06-14T04:47:52.9614956Z", + "provisioningState": "InProgress" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateOrUpdateWorkspaceManagerAssignment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateOrUpdateWorkspaceManagerAssignment.json new file mode 100644 index 000000000000..23ad49320991 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/CreateOrUpdateWorkspaceManagerAssignment.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "workspaceManagerAssignment": { + "properties": { + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo" + } + ], + "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments", + "properties": { + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo" + } + ], + "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments", + "properties": { + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo" + } + ], + "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteJob.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteJob.json new file mode 100644 index 000000000000..5ed6caf7fd53 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteJob.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "jobName": "cfbe1338-8276-4d5d-8b96-931117f9fa0e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteWorkspaceManagerAssignment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteWorkspaceManagerAssignment.json new file mode 100644 index 000000000000..41da325e43c3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/DeleteWorkspaceManagerAssignment.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllJobs.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllJobs.json new file mode 100644 index 000000000000..3d5ae29bcbfe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllJobs.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58/jobs/cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "etag": "\"f20a2523-7817-47b5-a3b2-21539c00c788\"", + "name": "cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments/jobs", + "properties": { + "endTime": "2022-06-14T04:52:52.9614956Z", + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne", + "status": "Succeeded", + "executionTime": "2022-06-14T04:49:52.9614956Z" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo", + "status": "Failed", + "executionTime": "2022-06-14T04:50:52.9614956Z", + "errors": [ + { + "memberResourceName": "f5fa104e-c0e3-4747-9182-d342dc048a9e", + "errorMessage": "Failed to write. Status code: Forbidden." + } + ] + } + ], + "startTime": "2022-06-14T04:47:52.9614956Z", + "provisioningState": "Failed" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllWorkspaceManagerAssignments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllWorkspaceManagerAssignments.json new file mode 100644 index 000000000000..8b511933afa6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetAllWorkspaceManagerAssignments.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments", + "properties": { + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo" + } + ], + "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "lastJobEndTime": "2022-06-14T04:52:52.9614956Z", + "lastJobProvisioningState": "Failed" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetJob.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetJob.json new file mode 100644 index 000000000000..768ae3d753e5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetJob.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "jobName": "cfbe1338-8276-4d5d-8b96-931117f9fa0e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58/jobs/cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "etag": "\"f20a2523-7817-47b5-a3b2-21539c00c788\"", + "name": "cfbe1338-8276-4d5d-8b96-931117f9fa0e", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments/jobs", + "properties": { + "endTime": "2022-06-14T04:52:52.9614956Z", + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne", + "status": "Succeeded", + "executionTime": "2022-06-14T04:49:52.9614956Z" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo", + "status": "Failed", + "executionTime": "2022-06-14T04:50:52.9614956Z", + "errors": [ + { + "memberResourceName": "f5fa104e-c0e3-4747-9182-d342dc048a9e", + "errorMessage": "Failed to write. Status code: Forbidden." + } + ] + } + ], + "startTime": "2022-06-14T04:47:52.9614956Z", + "provisioningState": "Failed" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetWorkspaceManagerAssignment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetWorkspaceManagerAssignment.json new file mode 100644 index 000000000000..c665781e99ba --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerAssignments/GetWorkspaceManagerAssignment.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerAssignmentName": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerAssignments/47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "47cdc5f5-37c4-47b5-bd5f-83c84b8bdd58", + "type": "Microsoft.SecurityInsights/workspaceManagerAssignments", + "properties": { + "items": [ + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleOne" + }, + { + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspac-es/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExampleTwo" + } + ], + "targetResourceName": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "lastJobEndTime": "2022-06-14T04:52:52.9614956Z", + "lastJobProvisioningState": "Failed" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/CreateOrUpdateWorkspaceManagerConfiguration.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/CreateOrUpdateWorkspaceManagerConfiguration.json new file mode 100644 index 000000000000..2db878545a45 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/CreateOrUpdateWorkspaceManagerConfiguration.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerConfigurationName": "default", + "workspaceManagerConfiguration": { + "properties": { + "mode": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/default", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "default", + "type": "Microsoft.SecurityInsights/workspaceManagerConfigurations", + "properties": { + "mode": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/default", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "default", + "type": "Microsoft.SecurityInsights/workspaceManagerConfigurations", + "properties": { + "mode": "Enabled" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/DeleteWorkspaceManagerConfiguration.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/DeleteWorkspaceManagerConfiguration.json new file mode 100644 index 000000000000..59888d14f759 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/DeleteWorkspaceManagerConfiguration.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerConfigurationName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetAllWorkspaceManagerConfigurations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetAllWorkspaceManagerConfigurations.json new file mode 100644 index 000000000000..e1a658ce4ecf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetAllWorkspaceManagerConfigurations.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/workspaceManagerConfigurations/default", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "default", + "type": "Microsoft.SecurityInsights/workspaceManagerConfigurations", + "properties": { + "mode": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetWorkspaceManagerConfiguration.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetWorkspaceManagerConfiguration.json new file mode 100644 index 000000000000..c6468a8887d5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerConfigurations/GetWorkspaceManagerConfiguration.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerConfigurationName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerConfigurations/default", + "etag": "\"3f6451dd-1b58-4bef-bce7-72eba6b354d7\"", + "name": "default", + "type": "Microsoft.SecurityInsights/workspaceManagerConfigurations", + "properties": { + "mode": "Enabled" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/CreateOrUpdateWorkspaceManagerGroup.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/CreateOrUpdateWorkspaceManagerGroup.json new file mode 100644 index 000000000000..053f6d787fa6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/CreateOrUpdateWorkspaceManagerGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerGroupName": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "workspaceManagerGroup": { + "properties": { + "description": "Group of all financial and banking institutions", + "displayName": "Banks", + "memberResourceNames": [ + "afbd324f-6c48-459c-8710-8d1e1cd03812", + "f5fa104e-c0e3-4747-9182-d342dc048a9e" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerGroups/37207a7a-3b8a-438f-a559-c7df400e1b96", + "etag": "\"ac04c9ad-4b3c-4e13-b511-8c2225e46521\"", + "name": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "type": "Microsoft.SecurityInsights/workspaceManagerGroups", + "properties": { + "description": "Group of all financial and banking institutions", + "displayName": "Banks", + "memberResourceNames": [ + "afbd324f-6c48-459c-8710-8d1e1cd03812", + "f5fa104e-c0e3-4747-9182-d342dc048a9e" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerGroups/37207a7a-3b8a-438f-a559-c7df400e1b96", + "etag": "\"ac04c9ad-4b3c-4e13-b511-8c2225e46521\"", + "name": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "type": "Microsoft.SecurityInsights/workspaceManagerGroups", + "properties": { + "description": "Group of all financial and banking institutions", + "displayName": "Banks", + "memberResourceNames": [ + "afbd324f-6c48-459c-8710-8d1e1cd03812", + "f5fa104e-c0e3-4747-9182-d342dc048a9e" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/DeleteWorkspaceManagerGroup.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/DeleteWorkspaceManagerGroup.json new file mode 100644 index 000000000000..2c738d4e634b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/DeleteWorkspaceManagerGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerGroupName": "37207a7a-3b8a-438f-a559-c7df400e1b96" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetAllWorkspaceManagerGroups.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetAllWorkspaceManagerGroups.json new file mode 100644 index 000000000000..a14b7c662fda --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetAllWorkspaceManagerGroups.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/workspaceManagerGroups/37207a7a-3b8a-438f-a559-c7df400e1b96", + "etag": "\"ac04c9ad-4b3c-4e13-b511-8c2225e46521\"", + "name": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "type": "Microsoft.SecurityInsights/workspaceManagerGroups", + "properties": { + "description": "Group of all financial and banking institutions", + "displayName": "Banks", + "memberResourceNames": [ + "afbd324f-6c48-459c-8710-8d1e1cd03812", + "f5fa104e-c0e3-4747-9182-d342dc048a9e" + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetWorkspaceManagerGroup.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetWorkspaceManagerGroup.json new file mode 100644 index 000000000000..bff5dbcc326b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerGroups/GetWorkspaceManagerGroup.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerGroupName": "37207a7a-3b8a-438f-a559-c7df400e1b96" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerGroups/37207a7a-3b8a-438f-a559-c7df400e1b96", + "etag": "\"ac04c9ad-4b3c-4e13-b511-8c2225e46521\"", + "name": "37207a7a-3b8a-438f-a559-c7df400e1b96", + "type": "Microsoft.SecurityInsights/workspaceManagerGroups", + "properties": { + "description": "Group of all financial and banking institutions", + "displayName": "Banks", + "memberResourceNames": [ + "afbd324f-6c48-459c-8710-8d1e1cd03812", + "f5fa104e-c0e3-4747-9182-d342dc048a9e" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/CreateOrUpdateWorkspaceManagerMember.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/CreateOrUpdateWorkspaceManagerMember.json new file mode 100644 index 000000000000..27b4f159828c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/CreateOrUpdateWorkspaceManagerMember.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerMemberName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "workspaceManagerMember": { + "properties": { + "targetWorkspaceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace", + "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerMembers/afbd324f-6c48-459c-8710-8d1e1cd03812", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/workspaceManagerMembers", + "properties": { + "targetWorkspaceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace", + "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerMembers/afbd324f-6c48-459c-8710-8d1e1cd03812", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/workspaceManagerMembers", + "properties": { + "targetWorkspaceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace", + "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/DeleteWorkspaceManagerMember.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/DeleteWorkspaceManagerMember.json new file mode 100644 index 000000000000..612af753371b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/DeleteWorkspaceManagerMember.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerMemberName": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetAllWorkspaceManagerMembers.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetAllWorkspaceManagerMembers.json new file mode 100644 index 000000000000..ee247496323d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetAllWorkspaceManagerMembers.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "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/workspaceManagerMembers/afbd324f-6c48-459c-8710-8d1e1cd03812", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/workspaceManagerMembers", + "properties": { + "targetWorkspaceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace", + "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetWorkspaceManagerMember.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetWorkspaceManagerMember.json new file mode 100644 index 000000000000..4ae4e7196cbb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/examples/workspaceManagerMembers/GetWorkspaceManagerMember.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "workspaceManagerMemberName": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/workspaceManagerMembers/afbd324f-6c48-459c-8710-8d1e1cd03812", + "etag": "\"190057d0-0000-0d00-0000-5c6f5adb0000\"", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/workspaceManagerMembers", + "properties": { + "targetWorkspaceId": "/subscriptions/7aef9d48-814f-45ad-b644-b0343316e174/resourceGroups/otherRg/providers/Microsoft.OperationalInsights/workspaces/Example_Workspace", + "targetWorkspaceTenantId": "f676d436-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/operations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/operations.json new file mode 100644 index 000000000000..089d6b3e72f9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2023-07-01-preview/operations.json @@ -0,0 +1,138 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2023-07-01-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": { + "/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" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "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 17f54914fdab..cd38951ece77 100644 --- a/specification/securityinsights/resource-manager/readme.md +++ b/specification/securityinsights/resource-manager/readme.md @@ -26,17 +26,56 @@ These are the global settings for the SecurityInsights API. ``` yaml openapi-type: arm -tag: package-preview-2023-06 +tag: package-preview-2023-07 ``` --- +### Tag: package-preview-2023-07 + +These settings apply only when `--tag=package-preview-2023-07` is specified on the command line. + +```yaml $(tag) == 'package-preview-2023-07' +input-file: + - Microsoft.SecurityInsights/preview/2023-07-01-preview/AlertRules.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/AutomationRules.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/BillingStatistics.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Bookmarks.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentPackages.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductPackages.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentProductTemplates.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/ContentTemplates.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Enrichment.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Entities.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueries.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/EntityQueryTemplates.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/FileImports.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Hunts.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Incidents.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Metadata.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/OfficeConsents.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/OnboardingStates.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Recommendations.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/SecurityMLAnalyticsSettings.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Settings.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/SourceControls.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/ThreatIntelligence.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/TriggeredAnalyticsRuleRuns.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/Watchlists.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerAssignments.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerConfigurations.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerGroups.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/WorkspaceManagerMembers.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectors.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/dataConnectorDefinitions.json + - Microsoft.SecurityInsights/preview/2023-07-01-preview/operations.json +``` ### Tag: package-preview-2023-06 These settings apply only when `--tag=package-preview-2023-06` is specified on the command line. -```yaml $(tag) == 'package-preview-2023-06' +``` yaml $(tag) == 'package-preview-2023-06' input-file: - Microsoft.SecurityInsights/preview/2023-06-01-preview/AlertRules.json - Microsoft.SecurityInsights/preview/2023-06-01-preview/AutomationRules.json @@ -70,6 +109,7 @@ input-file: - Microsoft.SecurityInsights/preview/2023-06-01-preview/dataConnectors.json - Microsoft.SecurityInsights/preview/2023-06-01-preview/operations.json ``` + ### Tag: package-preview-2023-05 These settings apply only when `--tag=package-preview-2023-05` is specified on the command line. diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2023-05-01-preview/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2023-05-01-preview/TrafficController.json index 54ab38a98949..f094382d1f46 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2023-05-01-preview/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2023-05-01-preview/TrafficController.json @@ -55,10 +55,10 @@ "paths": { "/providers/Microsoft.ServiceNetworking/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], - "operationId": "Operations_List", "description": "List the operations for the provider", "parameters": [ { @@ -79,22 +79,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get Operations List": { "$ref": "./examples/OperationsList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceNetworking/trafficControllers": { "get": { + "operationId": "TrafficControllerInterface_ListBySubscription", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_ListBySubscription", "description": "List TrafficController resources by subscription ID", "parameters": [ { @@ -118,22 +118,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get Traffic Controllers List": { "$ref": "./examples/TrafficControllersGetList.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers": { "get": { + "operationId": "TrafficControllerInterface_ListByResourceGroup", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_ListByResourceGroup", "description": "List TrafficController resources by resource group", "parameters": [ { @@ -160,22 +160,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get Traffic Controllers": { "$ref": "./examples/TrafficControllersGet.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}": { "get": { + "operationId": "TrafficControllerInterface_Get", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_Get", "description": "Get a TrafficController", "parameters": [ { @@ -190,8 +190,8 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -217,10 +217,10 @@ } }, "put": { + "operationId": "TrafficControllerInterface_CreateOrUpdate", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_CreateOrUpdate", "description": "Create a TrafficController", "parameters": [ { @@ -235,16 +235,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/TrafficController" } @@ -259,15 +259,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/TrafficController" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/TrafficController" } }, "default": { @@ -288,10 +288,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "TrafficControllerInterface_Update", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_Update", "description": "Update a TrafficController", "parameters": [ { @@ -306,16 +306,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/TrafficControllerUpdate" } @@ -342,10 +342,10 @@ } }, "delete": { + "operationId": "TrafficControllerInterface_Delete", "tags": [ "TrafficControllerInterface" ], - "operationId": "TrafficControllerInterface_Delete", "description": "Delete a TrafficController", "parameters": [ { @@ -360,8 +360,8 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -374,13 +374,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -407,10 +407,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations": { "get": { + "operationId": "AssociationsInterface_ListByTrafficController", "tags": [ "AssociationsInterface" ], - "operationId": "AssociationsInterface_ListByTrafficController", "description": "List Association resources by TrafficController", "parameters": [ { @@ -425,8 +425,8 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -445,22 +445,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get Associations": { "$ref": "./examples/AssociationsGet.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations/{associationName}": { "get": { + "operationId": "AssociationsInterface_Get", "tags": [ "AssociationsInterface" ], - "operationId": "AssociationsInterface_Get", "description": "Get a Association", "parameters": [ { @@ -475,16 +475,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "associationName", "in": "path", - "required": true, "description": "Name of Association", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -510,10 +510,10 @@ } }, "put": { + "operationId": "AssociationsInterface_CreateOrUpdate", "tags": [ "AssociationsInterface" ], - "operationId": "AssociationsInterface_CreateOrUpdate", "description": "Create a Association", "parameters": [ { @@ -528,24 +528,24 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "associationName", "in": "path", - "required": true, "description": "Name of Association", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Association" } @@ -560,15 +560,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Association" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Association" } }, "default": { @@ -589,10 +589,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "AssociationsInterface_Update", "tags": [ "AssociationsInterface" ], - "operationId": "AssociationsInterface_Update", "description": "Update a Association", "parameters": [ { @@ -607,24 +607,24 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "associationName", "in": "path", - "required": true, "description": "Name of Association", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/AssociationUpdate" } @@ -651,10 +651,10 @@ } }, "delete": { + "operationId": "AssociationsInterface_Delete", "tags": [ "AssociationsInterface" ], - "operationId": "AssociationsInterface_Delete", "description": "Delete a Association", "parameters": [ { @@ -669,16 +669,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "associationName", "in": "path", - "required": true, "description": "Name of Association", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -691,13 +691,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -724,10 +724,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends": { "get": { + "operationId": "FrontendsInterface_ListByTrafficController", "tags": [ "FrontendsInterface" ], - "operationId": "FrontendsInterface_ListByTrafficController", "description": "List Frontend resources by TrafficController", "parameters": [ { @@ -742,8 +742,8 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -762,22 +762,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Get Frontends": { "$ref": "./examples/FrontendsGet.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}": { "get": { + "operationId": "FrontendsInterface_Get", "tags": [ "FrontendsInterface" ], - "operationId": "FrontendsInterface_Get", "description": "Get a Frontend", "parameters": [ { @@ -792,16 +792,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "frontendName", "in": "path", - "required": true, "description": "Frontends", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -827,10 +827,10 @@ } }, "put": { + "operationId": "FrontendsInterface_CreateOrUpdate", "tags": [ "FrontendsInterface" ], - "operationId": "FrontendsInterface_CreateOrUpdate", "description": "Create a Frontend", "parameters": [ { @@ -845,24 +845,24 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "frontendName", "in": "path", - "required": true, "description": "Frontends", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Frontend" } @@ -877,15 +877,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Frontend" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Frontend" } }, "default": { @@ -906,10 +906,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "FrontendsInterface_Update", "tags": [ "FrontendsInterface" ], - "operationId": "FrontendsInterface_Update", "description": "Update a Frontend", "parameters": [ { @@ -924,24 +924,24 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "frontendName", "in": "path", - "required": true, "description": "Frontends", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/FrontendUpdate" } @@ -968,10 +968,10 @@ } }, "delete": { + "operationId": "FrontendsInterface_Delete", "tags": [ "FrontendsInterface" ], - "operationId": "FrontendsInterface_Delete", "description": "Delete a Frontend", "parameters": [ { @@ -986,16 +986,16 @@ { "name": "trafficControllerName", "in": "path", - "required": true, "description": "traffic controller name for path", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" }, { "name": "frontendName", "in": "path", - "required": true, "description": "Frontends", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" } @@ -1008,13 +1008,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -1043,6 +1043,7 @@ "definitions": { "Association": { "type": "object", + "description": "Association Subresource of Traffic Controller", "properties": { "properties": { "$ref": "#/definitions/AssociationProperties", @@ -1054,7 +1055,6 @@ ] } }, - "description": "Association Subresource of Traffic Controller", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -1063,29 +1063,28 @@ }, "AssociationListResult": { "type": "object", + "description": "The response of a Association list operation.", "properties": { "value": { "type": "array", + "description": "The Association items on this page", "items": { "$ref": "#/definitions/Association" - }, - "description": "The Association items on this page", - "x-typespec-name": "Association[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Association list operation.", "required": [ "value" ] }, "AssociationProperties": { "type": "object", + "description": "Association Properties.", "properties": { "associationType": { "$ref": "#/definitions/AssociationType", @@ -1101,33 +1100,32 @@ "readOnly": true } }, - "description": "Association Properties.", "required": [ "associationType" ] }, "AssociationSubnet": { "type": "object", + "description": "Association Subnet.", "properties": { "id": { "type": "string", "description": "Association ID." } }, - "description": "Association Subnet.", "required": [ "id" ] }, "AssociationSubnetUpdate": { "type": "object", + "description": "Association Subnet.", "properties": { "id": { "type": "string", "description": "Association ID." } - }, - "description": "Association Subnet." + } }, "AssociationType": { "type": "string", @@ -1141,24 +1139,24 @@ }, "AssociationUpdate": { "type": "object", + "description": "The type used for update operations of the Association.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } }, "properties": { "$ref": "#/definitions/AssociationUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the Association." + } }, "AssociationUpdateProperties": { "type": "object", + "description": "The updatable properties of the Association.", "properties": { "associationType": { "$ref": "#/definitions/AssociationType", @@ -1168,11 +1166,11 @@ "$ref": "#/definitions/AssociationSubnetUpdate", "description": "Association Subnet" } - }, - "description": "The updatable properties of the Association." + } }, "Frontend": { "type": "object", + "description": "Frontend Subresource of Traffic Controller.", "properties": { "properties": { "$ref": "#/definitions/FrontendProperties", @@ -1184,7 +1182,6 @@ ] } }, - "description": "Frontend Subresource of Traffic Controller.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -1193,29 +1190,28 @@ }, "FrontendListResult": { "type": "object", + "description": "The response of a Frontend list operation.", "properties": { "value": { "type": "array", + "description": "The Frontend items on this page", "items": { "$ref": "#/definitions/Frontend" - }, - "description": "The Frontend items on this page", - "x-typespec-name": "Frontend[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Frontend list operation.", "required": [ "value" ] }, "FrontendProperties": { "type": "object", + "description": "Frontend Properties.", "properties": { "fqdn": { "type": "string", @@ -1227,22 +1223,20 @@ "description": "Provisioning State of Traffic Controller Frontend Resource", "readOnly": true } - }, - "description": "Frontend Properties." + } }, "FrontendUpdate": { "type": "object", + "description": "The type used for update operations of the Frontend.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } } - }, - "description": "The type used for update operations of the Frontend." + } }, "ProvisioningState": { "type": "string", @@ -1262,19 +1256,20 @@ }, "ResourceId": { "type": "object", + "description": "Resource ID definition used by parent to reference child resources.", "properties": { "id": { "type": "string", "description": "Resource ID of child resource." } }, - "description": "Resource ID definition used by parent to reference child resources.", "required": [ "id" ] }, "TrafficController": { "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/TrafficControllerProperties", @@ -1286,7 +1281,6 @@ ] } }, - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -1295,55 +1289,51 @@ }, "TrafficControllerListResult": { "type": "object", + "description": "The response of a TrafficController list operation.", "properties": { "value": { "type": "array", + "description": "The TrafficController items on this page", "items": { "$ref": "#/definitions/TrafficController" - }, - "description": "The TrafficController items on this page", - "x-typespec-name": "TrafficController[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a TrafficController list operation.", "required": [ "value" ] }, "TrafficControllerProperties": { "type": "object", + "description": "Traffic Controller Properties.", "properties": { "configurationEndpoints": { "type": "array", + "description": "Configuration Endpoints.", "items": { "type": "string" }, - "description": "Configuration Endpoints.", - "x-typespec-name": "string[]", "readOnly": true }, "frontends": { "type": "array", + "description": "Frontends References List", "items": { "$ref": "#/definitions/ResourceId" }, - "description": "Frontends References List", - "x-typespec-name": "ResourceId[]", "readOnly": true }, "associations": { "type": "array", + "description": "Associations References List", "items": { "$ref": "#/definitions/ResourceId" }, - "description": "Associations References List", - "x-typespec-name": "ResourceId[]", "readOnly": true }, "provisioningState": { @@ -1351,22 +1341,20 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "Traffic Controller Properties." + } }, "TrafficControllerUpdate": { "type": "object", + "description": "The type used for update operations of the TrafficController.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } } - }, - "description": "The type used for update operations of the TrafficController." + } } }, "parameters": {} diff --git a/specification/sphere/Sphere.Management/catalog.tsp b/specification/sphere/Sphere.Management/catalog.tsp index f5c8b98964f4..4c3c92621d38 100644 --- a/specification/sphere/Sphere.Management/catalog.tsp +++ b/specification/sphere/Sphere.Management/catalog.tsp @@ -73,7 +73,7 @@ interface Catalogs @armResourceAction(Catalog) @post countDevices( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; @autoRoute @@ -82,7 +82,7 @@ interface Catalogs @post listDeviceInsights( ...ResourceInstanceParameters, - ...ListQueryParameters + ...ListQueryParameters, ): ArmResponse> | ErrorResponse; @autoRoute @@ -91,7 +91,7 @@ interface Catalogs @post listDevices( ...ResourceInstanceParameters, - ...ListQueryParameters + ...ListQueryParameters, ): ArmResponse> | ErrorResponse; @autoRoute @@ -100,7 +100,7 @@ interface Catalogs @post listDeployments( ...ResourceInstanceParameters, - ...ListQueryParameters + ...ListQueryParameters, ): ArmResponse> | ErrorResponse; @autoRoute @@ -113,6 +113,6 @@ interface Catalogs @doc("List device groups for catalog.") @body - listDeviceGroupsRequest: ListDeviceGroupsRequest + listDeviceGroupsRequest: ListDeviceGroupsRequest, ): ArmResponse> | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/certificate.tsp b/specification/sphere/Sphere.Management/certificate.tsp index 4f5caca0c218..0f8427e3b695 100644 --- a/specification/sphere/Sphere.Management/certificate.tsp +++ b/specification/sphere/Sphere.Management/certificate.tsp @@ -31,7 +31,7 @@ interface Certificates @armResourceAction(Certificate) @post retrieveCertChain( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; @autoRoute @@ -43,7 +43,7 @@ interface Certificates @doc("Proof of possession nonce request body ") @body - proofOfPossessionNonceRequest: ProofOfPossessionNonceRequest + proofOfPossessionNonceRequest: ProofOfPossessionNonceRequest, ): ArmResponse | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/common.tsp b/specification/sphere/Sphere.Management/common.tsp index a33b44e20344..239b23b73fe6 100644 --- a/specification/sphere/Sphere.Management/common.tsp +++ b/specification/sphere/Sphere.Management/common.tsp @@ -154,7 +154,7 @@ interface CustomUpdateOperations { @doc("The resource properties to be updated.") @body - properties: TPatchModel + properties: TPatchModel, ): ArmResponse | ArmAcceptedResponse<"Resource update request accepted."> | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/device.tsp b/specification/sphere/Sphere.Management/device.tsp index 3d45223d98b7..c28e96135bfa 100644 --- a/specification/sphere/Sphere.Management/device.tsp +++ b/specification/sphere/Sphere.Management/device.tsp @@ -62,7 +62,7 @@ interface Devices extends ProxyResourceOperationsDevice { @doc("Generate capability image request body.") @body - generateDeviceCapabilityRequest: GenerateCapabilityImageRequest + generateDeviceCapabilityRequest: GenerateCapabilityImageRequest, ): ArmResponse | ArmAcceptedResponse | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/deviceGroup.tsp b/specification/sphere/Sphere.Management/deviceGroup.tsp index b52e98e2f557..acb3c5bbe5e2 100644 --- a/specification/sphere/Sphere.Management/deviceGroup.tsp +++ b/specification/sphere/Sphere.Management/deviceGroup.tsp @@ -55,7 +55,7 @@ interface DeviceGroups @armResourceAction(DeviceGroup) @post countDevices( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; @autoRoute @@ -74,7 +74,7 @@ interface DeviceGroups @doc("Bulk claim devices request body.") @body - claimDevicesRequest: ClaimDevicesRequest + claimDevicesRequest: ClaimDevicesRequest, ): ArmAcceptedResponse | ErrorResponse; } diff --git a/specification/sphere/Sphere.Management/product.tsp b/specification/sphere/Sphere.Management/product.tsp index 430b71f47178..09d6c83c9dad 100644 --- a/specification/sphere/Sphere.Management/product.tsp +++ b/specification/sphere/Sphere.Management/product.tsp @@ -49,7 +49,7 @@ interface Products extends ProxyResourceOperationsProducts { @armResourceAction(Product) @post generateDefaultDeviceGroups( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse> | ErrorResponse; @autoRoute @@ -57,7 +57,7 @@ interface Products extends ProxyResourceOperationsProducts { @armResourceAction(Product) @post countDevices( - ...ResourceInstanceParameters + ...ResourceInstanceParameters, ): ArmResponse | ErrorResponse; } 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 aa20184550d6..9a3713ef8493 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 @@ -67,10 +67,10 @@ "paths": { "/providers/Microsoft.AzureSphere/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], - "operationId": "Operations_List", "description": "List the operations for the provider", "parameters": [ { @@ -91,22 +91,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_ListBySubscription", "description": "List Catalog resources by subscription ID", "parameters": [ { @@ -130,22 +130,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_ListByResourceGroup", "description": "List Catalog resources by resource group", "parameters": [ { @@ -172,22 +172,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_Get", "description": "Get a Catalog", "parameters": [ { @@ -202,8 +202,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -229,10 +229,10 @@ } }, "put": { + "operationId": "Catalogs_CreateOrUpdate", "tags": [ "Catalogs" ], - "operationId": "Catalogs_CreateOrUpdate", "description": "Create a Catalog", "parameters": [ { @@ -247,16 +247,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Catalog" } @@ -271,15 +271,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Catalog" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Catalog" } }, "default": { @@ -300,10 +300,10 @@ "x-ms-long-running-operation": true }, "patch": { + "operationId": "Catalogs_Update", "tags": [ "Catalogs" ], - "operationId": "Catalogs_Update", "description": "Update a Catalog", "parameters": [ { @@ -318,16 +318,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "properties", "in": "body", - "required": true, "description": "The resource properties to be updated.", + "required": true, "schema": { "$ref": "#/definitions/CatalogUpdate" } @@ -354,10 +354,10 @@ } }, "delete": { + "operationId": "Catalogs_Delete", "tags": [ "Catalogs" ], - "operationId": "Catalogs_Delete", "description": "Delete a Catalog", "parameters": [ { @@ -372,8 +372,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -386,13 +386,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -419,10 +419,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates": { "get": { + "operationId": "Certificates_ListByCatalog", "tags": [ "Certificates" ], - "operationId": "Certificates_ListByCatalog", "description": "List Certificate resources by Catalog", "parameters": [ { @@ -449,8 +449,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -469,22 +469,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Certificates_Get", "description": "Get a Certificate", "parameters": [ { @@ -499,16 +499,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "serialNumber", "in": "path", - "required": true, "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, "type": "string" } ], @@ -535,10 +535,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveCertChain": { "post": { + "operationId": "Certificates_RetrieveCertChain", "tags": [ "Certificates" ], - "operationId": "Certificates_RetrieveCertChain", "description": "Retrieves cert chain.", "parameters": [ { @@ -553,16 +553,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "serialNumber", "in": "path", - "required": true, "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, "type": "string" } ], @@ -589,10 +589,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/certificates/{serialNumber}/retrieveProofOfPossessionNonce": { "post": { + "operationId": "Certificates_RetrieveProofOfPossessionNonce", "tags": [ "Certificates" ], - "operationId": "Certificates_RetrieveProofOfPossessionNonce", "description": "Gets the proof of possession nonce.", "parameters": [ { @@ -607,23 +607,23 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "serialNumber", "in": "path", - "required": true, "description": "Serial number of the certificate. Use '.default' to get current active certificate.", + "required": true, "type": "string" }, { "name": "proofOfPossessionNonceRequest", "in": "body", - "required": true, "description": "Proof of possession nonce request body ", + "required": true, "schema": { "$ref": "#/definitions/ProofOfPossessionNonceRequest" } @@ -652,10 +652,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/countDevices": { "post": { + "operationId": "Catalogs_CountDevices", "tags": [ "Catalogs" ], - "operationId": "Catalogs_CountDevices", "description": "Counts devices in catalog.", "parameters": [ { @@ -670,8 +670,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -699,10 +699,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/images": { "get": { + "operationId": "Images_ListByCatalog", "tags": [ "Images" ], - "operationId": "Images_ListByCatalog", "description": "List Image resources by Catalog", "parameters": [ { @@ -729,8 +729,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -749,22 +749,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Images_Get", "description": "Get a Image", "parameters": [ { @@ -779,16 +779,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "imageName", "in": "path", - "required": true, "description": "Image name. Use .default for image creation.", + "required": true, "type": "string" } ], @@ -813,10 +813,10 @@ } }, "put": { + "operationId": "Images_CreateOrUpdate", "tags": [ "Images" ], - "operationId": "Images_CreateOrUpdate", "description": "Create a Image", "parameters": [ { @@ -831,23 +831,23 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "imageName", "in": "path", - "required": true, "description": "Image name. Use .default for image creation.", + "required": true, "type": "string" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Image" } @@ -862,15 +862,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Image" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Image" } }, "default": { @@ -891,10 +891,10 @@ "x-ms-long-running-operation": true }, "delete": { + "operationId": "Images_Delete", "tags": [ "Images" ], - "operationId": "Images_Delete", "description": "Delete a Image", "parameters": [ { @@ -909,16 +909,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "imageName", "in": "path", - "required": true, "description": "Image name. Use .default for image creation.", + "required": true, "type": "string" } ], @@ -930,13 +930,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -963,10 +963,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/listDeployments": { "post": { + "operationId": "Catalogs_ListDeployments", "tags": [ "Catalogs" ], - "operationId": "Catalogs_ListDeployments", "description": "Lists deployments for catalog.", "parameters": [ { @@ -981,8 +981,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, @@ -1013,22 +1013,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_ListDeviceGroups", "description": "List the device groups for the catalog.", "parameters": [ { @@ -1043,8 +1043,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, @@ -1063,8 +1063,8 @@ { "name": "listDeviceGroupsRequest", "in": "body", - "required": true, "description": "List device groups for catalog.", + "required": true, "schema": { "$ref": "#/definitions/ListDeviceGroupsRequest" } @@ -1084,22 +1084,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_ListDeviceInsights", "description": "Lists device insights for catalog.", "parameters": [ { @@ -1114,8 +1114,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, @@ -1146,22 +1146,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Catalogs_ListDevices", "description": "Lists devices for catalog.", "parameters": [ { @@ -1176,8 +1176,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, @@ -1208,22 +1208,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Products_ListByCatalog", "description": "List Product resources by Catalog", "parameters": [ { @@ -1238,8 +1238,8 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" } @@ -1258,22 +1258,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Products_Get", "description": "Get a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", "parameters": [ { @@ -1288,16 +1288,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" } @@ -1323,10 +1323,10 @@ } }, "put": { + "operationId": "Products_CreateOrUpdate", "tags": [ "Products" ], - "operationId": "Products_CreateOrUpdate", "description": "Create a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", "parameters": [ { @@ -1341,24 +1341,24 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Product" } @@ -1373,15 +1373,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Product" } }, "default": { @@ -1401,12 +1401,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "Products_Update", "tags": [ "Products" ], - "operationId": "Products_Delete", - "description": "Delete a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name'", + "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" @@ -1420,41 +1420,50 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "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": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Product" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1463,8 +1472,8 @@ } }, "x-ms-examples": { - "Products_Delete": { - "$ref": "./examples/DeleteProduct.json" + "Products_Update": { + "$ref": "./examples/PatchProduct.json" } }, "x-ms-long-running-operation-options": { @@ -1472,12 +1481,12 @@ }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "Products_Delete", "tags": [ "Products" ], - "operationId": "Products_Update", - "description": "Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", + "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" @@ -1491,50 +1500,41 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" - }, - { - "name": "properties", - "in": "body", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/ProductUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/Product" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1543,8 +1543,8 @@ } }, "x-ms-examples": { - "Products_Update": { - "$ref": "./examples/PatchProduct.json" + "Products_Delete": { + "$ref": "./examples/DeleteProduct.json" } }, "x-ms-long-running-operation-options": { @@ -1555,10 +1555,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/countDevices": { "post": { + "operationId": "Products_CountDevices", "tags": [ "Products" ], - "operationId": "Products_CountDevices", "description": "Counts devices in product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", "parameters": [ { @@ -1573,16 +1573,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" } @@ -1610,10 +1610,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups": { "get": { + "operationId": "DeviceGroups_ListByProduct", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_ListByProduct", "description": "List DeviceGroup resources by Product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", "parameters": [ { @@ -1640,16 +1640,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" } @@ -1668,22 +1668,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "DeviceGroups_Get", "description": "Get a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -1698,24 +1698,24 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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$" } @@ -1741,10 +1741,10 @@ } }, "put": { + "operationId": "DeviceGroups_CreateOrUpdate", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_CreateOrUpdate", "description": "Create a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -1759,32 +1759,32 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/DeviceGroup" } @@ -1799,15 +1799,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/DeviceGroup" } }, "default": { @@ -1827,12 +1827,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "DeviceGroups_Update", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_Delete", - "description": "Delete a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "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" @@ -1846,49 +1846,58 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DeviceGroup" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1897,8 +1906,8 @@ } }, "x-ms-examples": { - "DeviceGroups_Delete": { - "$ref": "./examples/DeleteDeviceGroup.json" + "DeviceGroups_Update": { + "$ref": "./examples/PatchDeviceGroup.json" } }, "x-ms-long-running-operation-options": { @@ -1906,12 +1915,12 @@ }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "DeviceGroups_Delete", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_Update", - "description": "Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", + "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" @@ -1925,58 +1934,49 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/DeviceGroupUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/DeviceGroup" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "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": { @@ -1985,8 +1985,8 @@ } }, "x-ms-examples": { - "DeviceGroups_Update": { - "$ref": "./examples/PatchDeviceGroup.json" + "DeviceGroups_Delete": { + "$ref": "./examples/DeleteDeviceGroup.json" } }, "x-ms-long-running-operation-options": { @@ -1997,10 +1997,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/claimDevices": { "post": { + "operationId": "DeviceGroups_ClaimDevices", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_ClaimDevices", "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": [ { @@ -2015,32 +2015,32 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Bulk claim devices request body.", + "required": true, "schema": { "$ref": "#/definitions/ClaimDevicesRequest" } @@ -2051,9 +2051,9 @@ "description": "Resource operation accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -2077,10 +2077,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/countDevices": { "post": { + "operationId": "DeviceGroups_CountDevices", "tags": [ "DeviceGroups" ], - "operationId": "DeviceGroups_CountDevices", "description": "Counts devices in device group. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2095,24 +2095,24 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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$" } @@ -2140,10 +2140,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/deployments": { "get": { + "operationId": "Deployments_ListByDeviceGroup", "tags": [ "Deployments" ], - "operationId": "Deployments_ListByDeviceGroup", "description": "List Deployment resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2170,24 +2170,24 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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$" } @@ -2206,22 +2206,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Deployments_Get", "description": "Get a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2236,32 +2236,32 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "required": true, "type": "string" } ], @@ -2286,10 +2286,10 @@ } }, "put": { + "operationId": "Deployments_CreateOrUpdate", "tags": [ "Deployments" ], - "operationId": "Deployments_CreateOrUpdate", "description": "Create a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2304,39 +2304,39 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "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", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Deployment" } @@ -2351,15 +2351,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Deployment" } }, "default": { @@ -2380,10 +2380,10 @@ "x-ms-long-running-operation": true }, "delete": { + "operationId": "Deployments_Delete", "tags": [ "Deployments" ], - "operationId": "Deployments_Delete", "description": "Delete a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2398,32 +2398,32 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Deployment name. Use .default for deployment creation and to get the current deployment for the associated device group.", + "required": true, "type": "string" } ], @@ -2435,13 +2435,13 @@ "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." }, "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -2468,10 +2468,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices": { "get": { + "operationId": "Devices_ListByDeviceGroup", "tags": [ "Devices" ], - "operationId": "Devices_ListByDeviceGroup", "description": "List Device resources by DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name.", "parameters": [ { @@ -2486,24 +2486,24 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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$" } @@ -2522,22 +2522,22 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "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" ], - "operationId": "Devices_Get", "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": [ { @@ -2552,32 +2552,32 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Device name", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{128}$" } @@ -2603,10 +2603,10 @@ } }, "put": { + "operationId": "Devices_CreateOrUpdate", "tags": [ "Devices" ], - "operationId": "Devices_CreateOrUpdate", "description": "Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only.", "parameters": [ { @@ -2621,40 +2621,40 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Device name", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{128}$" }, { "name": "resource", "in": "body", - "required": true, "description": "Resource create parameters.", + "required": true, "schema": { "$ref": "#/definitions/Device" } @@ -2669,15 +2669,15 @@ }, "201": { "description": "ARM create operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + }, "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Device" } }, "default": { @@ -2697,12 +2697,12 @@ }, "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "Devices_Update", "tags": [ "Devices" ], - "operationId": "Devices_Delete", - "description": "Delete a Device", + "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" @@ -2716,57 +2716,62 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "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": "Resource deleted successfully." + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Device" + } }, "202": { - "description": "Resource deletion accepted.", + "description": "Resource update request accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" - }, - "Location": { - "description": "The Location header contains the URL where the status of the long running operation can be checked.", - "type": "string" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "Resource deleted successfully." - }, "default": { "description": "An unexpected error response.", "schema": { @@ -2775,8 +2780,8 @@ } }, "x-ms-examples": { - "Devices_Delete": { - "$ref": "./examples/DeleteDevice.json" + "Devices_Update": { + "$ref": "./examples/PatchDevice.json" } }, "x-ms-long-running-operation-options": { @@ -2784,12 +2789,12 @@ }, "x-ms-long-running-operation": true }, - "patch": { + "delete": { + "operationId": "Devices_Delete", "tags": [ "Devices" ], - "operationId": "Devices_Update", - "description": "Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level.", + "description": "Delete a Device", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -2803,62 +2808,57 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Device name", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{128}$" - }, - { - "name": "properties", - "in": "body", - "required": true, - "description": "The resource properties to be updated.", - "schema": { - "$ref": "#/definitions/DeviceUpdate" - } } ], "responses": { "200": { - "description": "ARM operation completed successfully.", - "schema": { - "$ref": "#/definitions/Device" - } + "description": "Resource deleted successfully." }, "202": { - "description": "Resource update request accepted.", + "description": "Resource deletion accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "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": { @@ -2867,8 +2867,8 @@ } }, "x-ms-examples": { - "Devices_Update": { - "$ref": "./examples/PatchDevice.json" + "Devices_Delete": { + "$ref": "./examples/DeleteDevice.json" } }, "x-ms-long-running-operation-options": { @@ -2879,10 +2879,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/deviceGroups/{deviceGroupName}/devices/{deviceName}/generateCapabilityImage": { "post": { + "operationId": "Devices_GenerateCapabilityImage", "tags": [ "Devices" ], - "operationId": "Devices_GenerateCapabilityImage", "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": [ { @@ -2897,40 +2897,40 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" }, { "name": "deviceGroupName", "in": "path", - "required": true, "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", - "required": true, "description": "Device name", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-]{128}$" }, { "name": "generateDeviceCapabilityRequest", "in": "body", - "required": true, "description": "Generate capability image request body.", + "required": true, "schema": { "$ref": "#/definitions/GenerateCapabilityImageRequest" } @@ -2947,9 +2947,9 @@ "description": "Resource operation accepted.", "headers": { "Retry-After": { - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", "type": "integer", - "format": "int32" + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -2973,10 +2973,10 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureSphere/catalogs/{catalogName}/products/{productName}/generateDefaultDeviceGroups": { "post": { + "operationId": "Products_GenerateDefaultDeviceGroups", "tags": [ "Products" ], - "operationId": "Products_GenerateDefaultDeviceGroups", "description": "Generates default device groups for the product. '.default' and '.unassigned' are system defined values and cannot be used for product name.", "parameters": [ { @@ -2991,16 +2991,16 @@ { "name": "catalogName", "in": "path", - "required": true, "description": "Name of catalog", + "required": true, "type": "string", "pattern": "^[A-Za-z0-9_-]{1,50}$" }, { "name": "productName", "in": "path", - "required": true, "description": "Name of product.", + "required": true, "type": "string", "pattern": "^[\\w][\\w\\s]{1,48}[\\w]$|^\\.default$|^\\.unassigned$" } @@ -3019,13 +3019,13 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "Products_GenerateDefaultDeviceGroups": { "$ref": "./examples/PostGenerateDefaultDeviceGroups.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } } @@ -3081,6 +3081,7 @@ }, "Catalog": { "type": "object", + "description": "An Azure Sphere catalog", "properties": { "properties": { "$ref": "#/definitions/CatalogProperties", @@ -3092,7 +3093,6 @@ ] } }, - "description": "An Azure Sphere catalog", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" @@ -3101,54 +3101,52 @@ }, "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" - }, - "description": "The Catalog items on this page", - "x-typespec-name": "Catalog[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Catalog list operation.", "required": [ "value" ] }, "CatalogProperties": { "type": "object", + "description": "Catalog properties", "properties": { "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The status of the last operation.", "readOnly": true } - }, - "description": "Catalog properties" + } }, "CatalogUpdate": { "type": "object", + "description": "The type used for update operations of the Catalog.", "properties": { "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags.", - "x-typespec-name": "Record" + } } - }, - "description": "The type used for update operations of the Catalog." + } }, "Certificate": { "type": "object", + "description": "An certificate resource belonging to a catalog resource.", "properties": { "properties": { "$ref": "#/definitions/CertificateProperties", @@ -3160,7 +3158,6 @@ ] } }, - "description": "An certificate resource belonging to a catalog resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -3169,40 +3166,39 @@ }, "CertificateChainResponse": { "type": "object", + "description": "The certificate chain response.", "properties": { "certificateChain": { "type": "string", "description": "The certificate chain.", "readOnly": true } - }, - "description": "The certificate chain response." + } }, "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" - }, - "description": "The Certificate items on this page", - "x-typespec-name": "Certificate[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Certificate list operation.", "required": [ "value" ] }, "CertificateProperties": { "type": "object", + "description": "The properties of certificate", "properties": { "certificate": { "type": "string", @@ -3241,8 +3237,7 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "The properties of certificate" + } }, "CertificateStatus": { "type": "string", @@ -3282,25 +3277,24 @@ }, "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" - }, - "description": "Device identifiers of the devices to be claimed.", - "x-typespec-name": "string[]" + } } }, - "description": "Request to the action call to bulk claim devices.", "required": [ "deviceIdentifiers" ] }, "CountDeviceResponse": { "type": "object", - "properties": {}, "description": "Response to the action call for count devices in a catalog.", + "properties": {}, "allOf": [ { "$ref": "#/definitions/CountElementsResponse" @@ -3309,6 +3303,7 @@ }, "CountElementsResponse": { "type": "object", + "description": "Response of the count for elements.", "properties": { "value": { "type": "integer", @@ -3316,13 +3311,13 @@ "description": "Number of children resources in parent resource." } }, - "description": "Response of the count for elements.", "required": [ "value" ] }, "Deployment": { "type": "object", + "description": "An deployment resource belonging to a device group resource.", "properties": { "properties": { "$ref": "#/definitions/DeploymentProperties", @@ -3334,7 +3329,6 @@ ] } }, - "description": "An deployment resource belonging to a device group resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -3343,29 +3337,28 @@ }, "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" - }, - "description": "The Deployment items on this page", - "x-typespec-name": "Deployment[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Deployment list operation.", "required": [ "value" ] }, "DeploymentProperties": { "type": "object", + "description": "The properties of deployment", "properties": { "deploymentId": { "type": "string", @@ -3377,11 +3370,10 @@ }, "deployedImages": { "type": "array", + "description": "Images deployed", "items": { "$ref": "#/definitions/Image" }, - "description": "Images deployed", - "x-typespec-name": "Image[]", "x-ms-mutability": [ "read", "create" @@ -3398,11 +3390,11 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "The properties of deployment" + } }, "Device": { "type": "object", + "description": "An device resource belonging to a device group resource.", "properties": { "properties": { "$ref": "#/definitions/DeviceProperties", @@ -3414,7 +3406,6 @@ ] } }, - "description": "An device resource belonging to a device group resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -3423,6 +3414,7 @@ }, "DeviceGroup": { "type": "object", + "description": "An device group resource belonging to a product resource.", "properties": { "properties": { "$ref": "#/definitions/DeviceGroupProperties", @@ -3434,7 +3426,6 @@ ] } }, - "description": "An device group resource belonging to a product resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -3443,29 +3434,28 @@ }, "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" - }, - "description": "The DeviceGroup items on this page", - "x-typespec-name": "DeviceGroup[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a DeviceGroup list operation.", "required": [ "value" ] }, "DeviceGroupProperties": { "type": "object", + "description": "The properties of deviceGroup", "properties": { "description": { "type": "string", @@ -3497,21 +3487,21 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "The properties of deviceGroup" + } }, "DeviceGroupUpdate": { "type": "object", + "description": "The type used for update operations of the DeviceGroup.", "properties": { "properties": { "$ref": "#/definitions/DeviceGroupUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the DeviceGroup." + } }, "DeviceGroupUpdateProperties": { "type": "object", + "description": "The updatable properties of the DeviceGroup.", "properties": { "description": { "type": "string", @@ -3533,11 +3523,11 @@ "$ref": "#/definitions/RegionalDataBoundary", "description": "Regional data boundary for the device group." } - }, - "description": "The updatable properties of the DeviceGroup." + } }, "DeviceInsight": { "type": "object", + "description": "Device insight report.", "properties": { "deviceId": { "type": "string", @@ -3575,7 +3565,6 @@ "description": "Event count" } }, - "description": "Device insight report.", "required": [ "deviceId", "description", @@ -3589,42 +3578,41 @@ }, "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" - }, - "description": "The Device items on this page", - "x-typespec-name": "Device[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Device list operation.", "required": [ "value" ] }, "DevicePatchProperties": { "type": "object", + "description": "The properties of device patch", "properties": { "deviceGroupId": { "type": "string", "description": "Device group id" } }, - "description": "The properties of device patch", "required": [ "deviceGroupId" ] }, "DeviceProperties": { "type": "object", + "description": "The properties of device", "properties": { "deviceId": { "type": "string", @@ -3666,48 +3654,47 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "The properties of device" + } }, "DeviceUpdate": { "type": "object", + "description": "The type used for update operations of the Device.", "properties": { "properties": { "$ref": "#/definitions/DeviceUpdateProperties", "x-ms-client-flatten": true } - }, - "description": "The type used for update operations of the Device." + } }, "DeviceUpdateProperties": { "type": "object", + "description": "The updatable properties of the Device.", "properties": { "deviceGroupId": { "type": "string", "description": "Device group id" } - }, - "description": "The updatable properties of the Device." + } }, "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" - }, - "description": "List of capabilities to create", - "x-typespec-name": "CapabilityType[]" + } } }, - "description": "Request of the action to create a signed device capability image", "required": [ "capabilities" ] }, "Image": { "type": "object", + "description": "An image resource belonging to a catalog resource.", "properties": { "properties": { "$ref": "#/definitions/ImageProperties", @@ -3719,7 +3706,6 @@ ] } }, - "description": "An image resource belonging to a catalog resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -3728,29 +3714,28 @@ }, "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" - }, - "description": "The Image items on this page", - "x-typespec-name": "Image[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Image list operation.", "required": [ "value" ] }, "ImageProperties": { "type": "object", + "description": "The properties of image", "properties": { "image": { "type": "string", @@ -3806,8 +3791,7 @@ "description": "The status of the last operation.", "readOnly": true } - }, - "description": "The properties of image" + } }, "ImageType": { "type": "string", @@ -3967,26 +3951,26 @@ }, "ImageUploadRequestBody": { "type": "object", + "description": "Image upload request body.", "properties": { "images": { "type": "string", "description": "." } }, - "description": "Image upload request body.", "required": [ "images" ] }, "ListDeviceGroupsRequest": { "type": "object", + "description": "Request of the action to list device groups for a catalog.", "properties": { "deviceGroupName": { "type": "string", "description": "Device Group name." } - }, - "description": "Request of the action to list device groups for a catalog." + } }, "OSFeedType": { "type": "string", @@ -4014,30 +3998,29 @@ }, "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": [], - "description": "The DeviceInsight items on this page", - "x-typespec-name": "DeviceInsight[]" + "x-ms-identifiers": [] }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "Paged collection of DeviceInsight items", "required": [ "value" ] }, "Product": { "type": "object", + "description": "An product resource belonging to a catalog resource.", "properties": { "properties": { "$ref": "#/definitions/ProductProperties", @@ -4049,7 +4032,6 @@ ] } }, - "description": "An product resource belonging to a catalog resource.", "allOf": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" @@ -4058,29 +4040,28 @@ }, "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" - }, - "description": "The Product items on this page", - "x-typespec-name": "Product[]" + } }, "nextLink": { "type": "string", "format": "uri", - "description": "The link to the next page of items", - "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + "description": "The link to the next page of items" } }, - "description": "The response of a Product list operation.", "required": [ "value" ] }, "ProductProperties": { "type": "object", + "description": "The properties of product", "properties": { "description": { "type": "string", @@ -4092,48 +4073,47 @@ "readOnly": true } }, - "description": "The properties of product", "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 } - }, - "description": "The type used for update operations of the Product." + } }, "ProductUpdateProperties": { "type": "object", + "description": "The updatable properties of the Product.", "properties": { "description": { "type": "string", "description": "Description of the product" } - }, - "description": "The updatable properties of the Product." + } }, "ProofOfPossessionNonceRequest": { "type": "object", + "description": "Request for the proof of possession nonce", "properties": { "proofOfPossessionNonce": { "type": "string", "description": "The proof of possession nonce" } }, - "description": "Request for the proof of possession nonce", "required": [ "proofOfPossessionNonce" ] }, "ProofOfPossessionNonceResponse": { "type": "object", - "properties": {}, "description": "Result of the action to generate a proof of possession nonce", + "properties": {}, "allOf": [ { "$ref": "#/definitions/CertificateProperties" @@ -4220,14 +4200,14 @@ }, "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 } - }, - "description": "Signed device capability image response" + } }, "UpdatePolicy": { "type": "string", @@ -4258,41 +4238,41 @@ "CustomFilterQueryParameter": { "name": "$filter", "in": "query", - "required": false, "description": "Filter the result list using the given expression", - "x-ms-client-name": "filter", + "required": false, "type": "string", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "filter" }, "CustomMaxPageSizeQueryParameter": { "name": "$maxpagesize", "in": "query", - "required": false, "description": "The maximum number of result items per page.", - "x-ms-client-name": "maxpagesize", + "required": false, "type": "integer", "format": "int32", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "maxpagesize" }, "CustomSkipQueryParameter": { "name": "$skip", "in": "query", - "required": false, "description": "The number of result items to skip.", - "x-ms-client-name": "skip", + "required": false, "type": "integer", "format": "int32", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "skip" }, "CustomTopQueryParameter": { "name": "$top", "in": "query", - "required": false, "description": "The number of result items to return.", - "x-ms-client-name": "top", + "required": false, "type": "integer", "format": "int32", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "top" } } } diff --git a/specification/sphere/resource-manager/readme.go.md b/specification/sphere/resource-manager/readme.go.md index ec1235d3437f..3a4239585495 100644 --- a/specification/sphere/resource-manager/readme.go.md +++ b/specification/sphere/resource-manager/readme.go.md @@ -2,32 +2,9 @@ These settings apply only when `--go` is specified on the command line. -``` yaml $(go) -go: - license-header: MICROSOFT_APACHE_NO_VERSION - namespace: azuresphere - clear-output-folder: true -``` - -### Go multi-api - -``` yaml $(go) && $(multiapi) -batch: - - tag: package-2022-09-01-preview -``` - -### Tag: package-2022-09-01-preview and go - -These settings apply only when `--tag=package-2022-09-01-preview --go` is specified on the command line. -Please also specify `--go-sdk-folder=`. - -``` yaml $(tag) == 'package-2022-09-01-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-09-01-preview/$(namespace) -``` - -```yaml $(go) && $(track2) +``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/resourcemanager/azuresphere/armazuresphere +module-name: sdk/resourcemanager/sphere/armsphere module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true diff --git a/specification/sphere/resource-manager/readme.md b/specification/sphere/resource-manager/readme.md index f358d93c90ce..5c4ecd51faec 100644 --- a/specification/sphere/resource-manager/readme.md +++ b/specification/sphere/resource-manager/readme.md @@ -53,7 +53,6 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-java - repo: azure-sdk-for-go - - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby diff --git a/specification/sphere/resource-manager/readme.python.md b/specification/sphere/resource-manager/readme.python.md index 86725c213fec..8a997f714629 100644 --- a/specification/sphere/resource-manager/readme.python.md +++ b/specification/sphere/resource-manager/readme.python.md @@ -4,15 +4,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. ``` yaml $(python) +title: AzureSphereMgmtClient azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -package-name: azure-mgmt-azuresphere -namespace: azure.mgmt.azuresphere +package-name: azure-mgmt-sphere +namespace: azure.mgmt.sphere package-version: 1.0.0b1 clear-output-folder: true ``` ``` yaml $(python) no-namespace-folders: true -output-folder: $(python-sdks-folder)/azuresphere/azure-mgmt-azuresphere/azure/mgmt/azuresphere +output-folder: $(python-sdks-folder)/sphere/azure-mgmt-sphere/azure/mgmt/sphere ``` diff --git a/specification/sphere/resource-manager/readme.typescript.md b/specification/sphere/resource-manager/readme.typescript.md index b36ccc342e4d..c2407b779167 100644 --- a/specification/sphere/resource-manager/readme.typescript.md +++ b/specification/sphere/resource-manager/readme.typescript.md @@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder= - $["x-ms-enum"].name = "SQLVulnerabilityAssessmentName" -- from: swagger-document - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/sqlVulnerabilityAssessments/{vulnerabilityAssessmentName}"].get.parameters[3] - transform: > - $["x-ms-enum"].name = "SQLVulnerabilityAssessmentName" ``` ``` yaml $(go) && !$(track2) diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index e1f8041c3724..cfed3c9570e6 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -917,7 +917,7 @@ input-file: - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.json - ./Microsoft.Sql/preview/2020-11-01-preview/ManagedServerSecurityAlertPolicies.json - ./Microsoft.Sql/preview/2020-11-01-preview/Operations.json -- ./Microsoft.Sql/preview/2020-11-01-preview/PrivateEndpointConnections.json +- ./Microsoft.Sql/preview/2022-08-01-preview/PrivateEndpointConnections.json - ./Microsoft.Sql/preview/2020-11-01-preview/PrivateLinkResources.json - ./Microsoft.Sql/preview/2020-11-01-preview/RecoverableManagedDatabases.json - ./Microsoft.Sql/preview/2020-11-01-preview/RestorePoints.json diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2023-01-01-preview/sqlvm.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2023-01-01-preview/sqlvm.json index 9c6e458a38f9..185c9f0456c1 100644 --- a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2023-01-01-preview/sqlvm.json +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2023-01-01-preview/sqlvm.json @@ -1947,6 +1947,19 @@ "format": "int32", "description": "Duration of patching.", "type": "integer" + }, + "additionalVmPatch": { + "description": "Additional Patch to be enable or enabled on the SQL Virtual Machine.", + "default": "NotSet", + "enum": [ + "NotSet", + "MicrosoftUpdate" + ], + "type": "string", + "x-ms-enum": { + "name": "AdditionalVmPatch", + "modelAsString": true + } } } }, @@ -2541,7 +2554,7 @@ "properties": { "identity": { "$ref": "#/definitions/ResourceIdentity", - "description": "Azure Active Directory identity of the server.", + "description": "DO NOT USE. This value will be deprecated. Azure Active Directory identity of the server.", "x-ms-mutability": [ "read", "create" diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2023-05-03/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2023-05-03/DataLakeStorage.json new file mode 100644 index 000000000000..0134ea785b6d --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2023-05-03/DataLakeStorage.json @@ -0,0 +1,3645 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2023-05-03", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/LeaseDurationMethod" + }, + { + "$ref": "#/parameters/PathExpiryOptionsOptional" + }, + { + "$ref": "#/parameters/PathExpiryTime" + }, + { + "$ref": "#/parameters/EncryptionContext" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Paginated" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "202": { + "description": "Delete request is accepted, applicable only when Hierarchical Namespace is enabled for the account.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "description": "Applicable only when Hierarchical Namespace is enabled for the account. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response when the following conditions are met: Delete should be on a directory with query parameters \"recursive\" and \"paginated\" set to true, the identity of the user calling the api should be a non-super user using ACL based authorization, number of paths to be deleted exceeds a limit, request version is 2023-08-03 and later. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory. Directory is successfully deleted when the continuation token returned is empty. The actual directory deletion happens only in the last invocation, the previous ones involve ACL checks in the server of the files and directories under the directory to be recursively deleted.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/LeaseAction" + }, + { + "$ref": "#/parameters/LeaseDurationMethod" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-lease-renewed": { + "x-ms-client-name": "LeaseRenewed", + "type": "boolean", + "description": "If the lease was auto-renewed with this request" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/LeaseAction" + }, + { + "$ref": "#/parameters/LeaseDurationMethod" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + }, + { + "$ref": "#/parameters/Flush" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + }, + "x-ms-lease-renewed": { + "x-ms-client-name": "LeaseRenewed", + "type": "boolean", + "description": "If the lease was auto-renewed with this request" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2023-05-03" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer", + "x-ms-parameter-location": "client" + }, + "LeaseDurationMethod": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "leaseDuration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "LeaseAction": { + "name": "x-ms-lease-action", + "x-ms-client-name": "leaseAction", + "in": "header", + "x-ms-parameter-location": "method", + "description": "Optional. If \"acquire\" it will acquire the lease. If \"auto-renew\" it will renew the lease. If \"release\" it will release the lease only on flush. If \"acquire-release\" it will acquire & complete the operation & release the lease once operation is done.", + "required": false, + "type": "string", + "enum": [ + "acquire", + "auto-renew", + "release", + "acquire-release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + } + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryOptionsOptional": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + }, + "Flush": { + "name": "flush", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "description": "If file should be flushed after the append" + }, + "EncryptionContext": { + "name": "x-ms-encryption-context", + "x-ms-client-name": "encryptionContext", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the encryption context to set on the file." + }, + "Paginated": { + "name": "paginated", + "in": "query", + "description": "If true, paginated behavior will be seen. Pagination is for the recursive ACL checks as a POSIX requirement in the server and Delete in an atomic operation once the ACL checks are completed. If false or missing, normal default behavior will kick in, which may timeout in case of very large directories due to recursive ACL checks. This new parameter is introduced for backward compatibility. ", + "x-ms-parameter-location": "method", + "required": false, + "type": "boolean" + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + }, + "EncryptionContext": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md b/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md index 2b515504ee51..6daf17acc1aa 100644 --- a/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md @@ -25,7 +25,7 @@ These are the global settings for the StorageDataLake API. ``` yaml openapi-type: data-plane -tag: package-2021-06 +tag: package-2023-05 use-internal-constructors: true add-credentials: true ``` @@ -75,6 +75,15 @@ input-file: - preview/2021-06-08/DataLakeStorage.json ``` +### Tag: package-2023-05 + +These settings apply only when `--tag=package-2023-05` is specified on the command line. + +``` yaml $(tag) == 'package-2023-05' +input-file: +- preview/2023-05-03/DataLakeStorage.json +``` + ### Suppression ``` yaml directive: diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json index 2aebddeee4ec..26499054713c 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json @@ -9699,7 +9699,8 @@ "type": "string", "enum": [ "rehydrate-pending-to-hot", - "rehydrate-pending-to-cool" + "rehydrate-pending-to-cool", + "rehydrate-pending-to-cold" ], "x-ms-enum": { "name": "ArchiveStatus", diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2023-08-03/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2023-08-03/file.json new file mode 100644 index 000000000000..50e06505f08e --- /dev/null +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2023-08-03/file.json @@ -0,0 +1,7401 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure File Storage", + "version": "2023-08-03", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "securityDefinitions": { + "File_shared_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's File service endpoint, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "Gets the properties of a storage account's File service, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListSharesSegment", + "description": "The List Shares Segment operation returns a list of the shares and share snapshots under the specified account.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListSharesInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/ListSharesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}?restype=share": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Create", + "description": "Creates a new share under the specified account. If the share with the same name already exists, the operation fails.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareEnabledProtocols" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "201": { + "description": "Success, Share created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetProperties", + "description": "Returns all user-defined metadata and system properties for the specified share or share snapshot. The data returned does not include the share's list of files.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain the user-defined metadata of the share.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-share-quota": { + "x-ms-client-name": "Quota", + "type": "integer", + "description": "Returns the current share quota in GB." + }, + "x-ms-share-provisioned-iops": { + "x-ms-client-name": "ProvisionedIops", + "type": "integer", + "description": "Returns the current share provisioned ipos." + }, + "x-ms-share-provisioned-ingress-mbps": { + "x-ms-client-name": "ProvisionedIngressMBps", + "type": "integer", + "description": "Returns the current share provisioned ingress in megabytes per second." + }, + "x-ms-share-provisioned-egress-mbps": { + "x-ms-client-name": "ProvisionedEgressMBps", + "type": "integer", + "description": "Returns the current share provisioned egress in megabytes per second." + }, + "x-ms-share-next-allowed-quota-downgrade-time": { + "x-ms-client-name": "NextAllowedQuotaDowngradeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + }, + "x-ms-share-provisioned-bandwidth-mibps": { + "x-ms-client-name": "ProvisionedBandwidthMibps", + "type": "integer", + "description": "Returns the current share provisioned bandwidth in megabits per second." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "Returns the access tier set on the share." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the last modified time (in UTC) of the access tier of the share." + }, + "x-ms-access-tier-transition-state": { + "x-ms-client-name": "AccessTierTransitionState", + "type": "string", + "description": "Returns the transition state between access tiers, when present." + }, + "x-ms-enabled-protocols": { + "x-ms-client-name": "EnabledProtocols", + "description": "The protocols that have been enabled on the share.", + "type": "string" + }, + "x-ms-root-squash": { + "x-ms-client-name": "RootSquash", + "description": "Valid for NFS shares only.", + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "share" + ], + "operationId": "Share_Delete", + "description": "Operation marks the specified share or share snapshot for deletion. The share or share snapshot and any files contained within it are later deleted during garbage collection.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&acquire": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_AcquireLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&release": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ReleaseLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&change": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ChangeLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&renew": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_RenewLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&break": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_BreakLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ShareSnapshot" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=snapshot": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreateSnapshot", + "description": "Creates a read-only snapshot of a share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Success, Share snapshot created.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "This header is a DateTime value that uniquely identifies the share snapshot. The value of this header may be used in subsequent requests to access the share snapshot. This value is opaque." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share snapshot, in quotes. A share snapshot cannot be modified, so the ETag of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the ETag of the share snapshot differs from that of the base share. If no metadata was specified with the request, the ETag of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. A share snapshot cannot be modified, so the last modified time of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the last modified time of the share snapshot differs from that of the base share. If no metadata was specified with the request, the last modified time of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{shareName}?restype=share&comp=filepermission": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreatePermission", + "description": "Create a permission (a security descriptor).", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SharePermission" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "201": { + "description": "Success, Share level permission created.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory/file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetPermission", + "description": "Returns the permission (security descriptor) for a given key", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FilePermissionKeyRequired" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SharePermission" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "filepermission" + ] + } + ] + }, + "/{shareName}?restype=share&comp=properties": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetProperties", + "description": "Sets properties for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}?restype=share&comp=metadata": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetMetadata", + "description": "Sets one or more user-defined name-value pairs for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}?restype=share&comp=acl": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetAccessPolicy", + "description": "Returns information about stored access policies specified on the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetAccessPolicy", + "description": "Sets a stored access policy for use with shared access signatures.", + "parameters": [ + { + "$ref": "#/parameters/ShareAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{shareName}?restype=share&comp=stats": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetStatistics", + "description": "Retrieves statistics related to the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/{shareName}?restype=share&comp=undelete": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Restore", + "description": "Restores a previously deleted Share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedShareName" + }, + { + "$ref": "#/parameters/DeletedShareVersion" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Create", + "description": "Creates a new directory under the specified share or parent directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "201": { + "description": "Success, Directory created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_GetProperties", + "description": "Returns all system properties for the specified directory, and can also be used to check the existence of a directory. The data returned does not include the files in the directory or any subdirectories.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain metadata for the directory.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the Directory was last modified. Operations on files within the directory do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the directory metadata is completely encrypted using the specified algorithm. Otherwise, the value is set to false." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "directory" + ], + "operationId": "Directory_Delete", + "description": "Removes the specified empty directory. Note that the directory must be empty before it can be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "$ref": "#/parameters/AllowTrailingDot" + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=properties": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetProperties", + "description": "Sets properties on the directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=metadata": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetMetadata", + "description": "Updates user defined metadata for the specified directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=list": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListFilesAndDirectoriesSegment", + "description": "Returns a list of files or directories under the specified share or directory. It lists the contents only for a single level of the directory hierarchy.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListFilesInclude" + }, + { + "$ref": "#/parameters/ListFilesExtendedInfo" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListFilesAndDirectoriesSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}/{directory}?comp=listhandles": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListHandles", + "description": "Lists handles for directory.", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}?comp=forceclosehandles": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_ForceCloseHandles", + "description": "Closes all handles open for given directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=rename": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Rename", + "description": "Renames a directory", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/SourceAllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Create", + "description": "Creates a new file or replaces a file. Note it only initializes the file with no content.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Specifies the maximum size for the file, up to 4 TB.", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileType" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "201": { + "description": "Success, File created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "file" + ], + "operationId": "File_Download", + "description": "Reads or downloads a file from the system, including its metadata and properties.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Succeeded to read the entire file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Succeeded to read a specified range of the file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "file" + ], + "operationId": "File_GetProperties", + "description": "Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. The date format follows RFC 1123. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-type": { + "x-ms-client-name": "FileType", + "description": "Returns the type File. Reserved for future use.", + "type": "string", + "enum": [ + "File" + ] + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes. This header returns the value of the 'x-ms-content-length' header that is stored with the file." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the Content-MD5 header has been set for the file, the Content-MD5 response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "If the Content-Encoding request header has previously been set for the file, the Content-Encoding value is returned in this header." + }, + "Cache-Control": { + "type": "string", + "description": "If the Cache-Control request header has previously been set for the file, the Cache-Control value is returned in this header." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "file" + ], + "operationId": "File_Delete", + "description": "removes the file from the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=properties": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetHTTPHeaders", + "description": "Sets HTTP headers on the file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Resizes a file to the specified size. If the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=metadata": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetMetadata", + "description": "Updates user-defined metadata for the specified file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&acquire": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AcquireLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&release": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ReleaseLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&change": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ChangeLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&break": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_BreakLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRange", + "description": "Upload a range of bytes to a file.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/OptionalBody" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes to be written. Both the start and end of the range must be specified. For an update operation, the range can be up to 4 MB in size. For a clear operation, the range can be up to the value of the file's full size. The File service accepts only a single byte range for the Range and 'x-ms-range' headers, and the byte range must be specified in the following format: bytes=startByte-endByte.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-write", + "x-ms-client-name": "FileRangeWrite", + "in": "header", + "description": "Specify one of the following options: - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update. - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size.", + "required": true, + "type": "string", + "enum": [ + "update", + "clear" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileLastWriteTimeMode" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range&fromURL": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRangeFromURL", + "description": "Upload a range of bytes to a file where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/TargetRange" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/FileRangeWriteFromUrl" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceContentCrc64" + }, + { + "$ref": "#/parameters/SourceIfMatchCrc64" + }, + { + "$ref": "#/parameters/SourceIfNoneMatchCrc64" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/FileLastWriteTimeMode" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/SourceAllowTrailingDot" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rangelist": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_GetRangeList", + "description": "Returns the list of valid ranges for a file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/PrevShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes over which to list ranges, inclusively.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The date/time that the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the file's last modified time." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-content-length": { + "x-ms-client-name": "FileContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareFileRangeList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rangelist" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_StartCopy", + "description": "Copies a blob or file to a destination file within the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileCopyPermissionCopyMode" + }, + { + "$ref": "#/parameters/FileCopyIgnoreReadOnly" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FileCopySetArchiveAttribute" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/SourceAllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "202": { + "description": "The copy file has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "If the copy is completed, contains the ETag of the destination file. If the copy is not complete, contains the ETag of the empty file created at the start of the copy." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date/time that the copy operation to the destination file completed." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get File or Get File Properties to check the status of this copy operation, or pass to Abort Copy File to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy©id": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AbortCopy", + "description": "Aborts a pending Copy File operation, and leaves a destination file with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/CopyActionAbort" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the file will be deleted.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=listhandles": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_ListHandles", + "description": "Lists handles for file", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=forceclosehandles": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ForceCloseHandles", + "description": "Closes all handles open for given file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rename": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Rename", + "description": "Renames a file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/AllowTrailingDot" + }, + { + "$ref": "#/parameters/SourceAllowTrailingDot" + }, + { + "$ref": "#/parameters/FileRequestIntent" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + } + }, + "definitions": { + "AccessRight": { + "description": "Access rights of the access policy.", + "type": "string", + "enum": [ + "Read", + "Write", + "Delete" + ], + "x-ms-enum": { + "name": "AccessRight", + "modelAsString": false + } + }, + "AccessPolicy": { + "description": "An Access policy.", + "type": "object", + "properties": { + "Start": { + "description": "The date-time the policy is active.", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "The date-time the policy expires.", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "The permissions for the ACL policy.", + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "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": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "CannotDeleteFileOrDirectory", + "ClientCacheFlushDelay", + "DeletePending", + "DirectoryNotEmpty", + "FileLockConflict", + "InvalidFileOrDirectoryPathName", + "ParentNotFound", + "ReadOnlyAttribute", + "ShareAlreadyExists", + "ShareBeingDeleted", + "ShareDisabled", + "ShareNotFound", + "SharingViolation", + "ShareSnapshotInProgress", + "ShareSnapshotCountExceeded", + "ShareSnapshotOperationNotSupported", + "ShareHasSnapshots", + "ContainerQuotaDowngradeNotAllowed", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch", + "FeatureVersionMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilesAndDirectoriesListSegment": { + "description": "Abstract for entries that can be listed from Directory.", + "type": "object", + "required": [ + "DirectoryItems", + "FileItems" + ], + "properties": { + "DirectoryItems": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectoryItem" + } + }, + "FileItems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileItem" + } + } + }, + "xml": { + "name": "Entries" + } + }, + "DirectoryItem": { + "xml": { + "name": "Directory" + }, + "description": "A listed directory item.", + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "$ref": "#/definitions/StringEncoded" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileItem": { + "xml": { + "name": "File" + }, + "description": "A listed file item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "$ref": "#/definitions/StringEncoded" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "StringEncoded": { + "type": "object", + "properties": { + "Encoded": { + "xml": { + "name": "Encoded", + "attribute": true + }, + "type": "boolean" + }, + "content": { + "xml": { + "x-ms-text": true + }, + "type": "string" + } + } + }, + "FileProperty": { + "description": "File properties.", + "type": "object", + "required": [ + "Content-Length" + ], + "properties": { + "Content-Length": { + "description": "Content length of the file. This value may not be up-to-date since an SMB client may have modified the file locally. The value of Content-Length may not reflect that fact until the handle is closed or the op-lock is broken. To retrieve current property values, call Get File Properties.", + "type": "integer", + "format": "int64" + }, + "CreationTime": { + "type": "string", + "format": "date-time" + }, + "LastAccessTime": { + "type": "string", + "format": "date-time" + }, + "LastWriteTime": { + "type": "string", + "format": "date-time" + }, + "ChangeTime": { + "type": "string", + "format": "date-time" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + } + } + }, + "HandleItem": { + "xml": { + "name": "Handle" + }, + "description": "A listed Azure Storage handle item.", + "type": "object", + "required": [ + "HandleId", + "Path", + "FileId", + "SessionId", + "ClientIp", + "OpenTime" + ], + "properties": { + "HandleId": { + "type": "string", + "description": "XSMB service handle ID" + }, + "Path": { + "$ref": "#/definitions/StringEncoded" + }, + "FileId": { + "type": "string", + "description": "FileId uniquely identifies the file or directory." + }, + "ParentId": { + "type": "string", + "description": "ParentId uniquely identifies the parent directory of the object." + }, + "SessionId": { + "type": "string", + "description": "SMB session ID in context of which the file handle was opened" + }, + "ClientIp": { + "type": "string", + "description": "Client IP that opened the handle" + }, + "OpenTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time when the session that previously opened the handle has last been reconnected. (UTC)" + }, + "LastReconnectTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time handle was last connected to (UTC)" + }, + "AccessRightList": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessRight" + }, + "xml": { + "wrapped": true + } + } + } + }, + "LeaseDuration": { + "xml": { + "name": "LeaseDuration" + }, + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "xml": { + "name": "LeaseState" + }, + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "xml": { + "name": "LeaseStatus" + }, + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "ListFilesAndDirectoriesSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of directories and files.", + "type": "object", + "required": [ + "ServiceEndpoint", + "ShareName", + "DirectoryPath", + "Prefix", + "NextMarker", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareSnapshot": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Encoded": { + "type": "boolean", + "xml": { + "attribute": true + } + }, + "DirectoryPath": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "$ref": "#/definitions/StringEncoded" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/FilesAndDirectoriesListSegment" + }, + "NextMarker": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + } + } + }, + "ListHandlesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of handles.", + "type": "object", + "required": [ + "NextMarker" + ], + "properties": { + "HandleList": { + "type": "array", + "items": { + "$ref": "#/definitions/HandleItem" + }, + "xml": { + "name": "Entries", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListSharesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of shares.", + "type": "object", + "required": [ + "ServiceEndpoint", + "NextMarker" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ShareItems": { + "type": "array", + "items": { + "$ref": "#/definitions/ShareItemInternal" + }, + "xml": { + "name": "Shares", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "Metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "Storage Analytics metrics for file service.", + "required": [ + "Version", + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the File service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "SmbMultichannel": { + "description": "Settings for SMB multichannel", + "type": "object", + "properties": { + "Enabled": { + "type": "boolean", + "description": "If SMB multichannel is enabled." + } + }, + "xml": { + "name": "Multichannel" + } + }, + "FileRange": { + "description": "An Azure Storage file range.", + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "description": "Start of the range." + }, + "End": { + "type": "integer", + "format": "int64", + "description": "End of the range." + } + }, + "xml": { + "name": "Range" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "ShareProtocolSettings": { + "description": "Protocol settings", + "type": "object", + "xml": { + "name": "ProtocolSettings" + }, + "properties": { + "Smb": { + "description": "Settings for SMB protocol.", + "$ref": "#/definitions/ShareSmbSettings" + } + } + }, + "ShareFileRangeList": { + "description": "The list of file ranges", + "type": "object", + "properties": { + "Ranges": { + "type": "array", + "items": { + "$ref": "#/definitions/FileRange" + } + }, + "ClearRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "RetentionPolicy": { + "description": "The retention policy.", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the File service. If false, metrics data is retained, and the user is responsible for deleting it.", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics data should be retained. All data older than this value will be deleted. Metrics data is deleted on a best-effort basis after the retention period expires.", + "type": "integer", + "minimum": 1, + "maximum": 365 + } + } + }, + "ShareItemInternal": { + "xml": { + "name": "Share" + }, + "description": "A listed Azure Storage share item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Snapshot": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/SharePropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + } + } + }, + "SharePropertiesInternal": { + "description": "Properties of a share.", + "type": "object", + "required": [ + "Last-Modified", + "Etag", + "Quota" + ], + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Quota": { + "type": "integer" + }, + "ProvisionedIops": { + "type": "integer" + }, + "ProvisionedIngressMBps": { + "type": "integer" + }, + "ProvisionedEgressMBps": { + "type": "integer" + }, + "ProvisionedBandwidthMiBps": { + "type": "integer" + }, + "NextAllowedQuotaDowngradeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "type": "string" + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "AccessTierTransitionState": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "EnabledProtocols": { + "$ref": "#/definitions/ShareEnabledProtocols" + }, + "RootSquash": { + "$ref": "#/definitions/ShareRootSquash" + } + } + }, + "ShareStats": { + "description": "Stats for the share.", + "type": "object", + "required": [ + "ShareUsageBytes" + ], + "properties": { + "ShareUsageBytes": { + "description": "The approximate size of the data stored in bytes. Note that this value may not include all recently created or recently resized files.", + "type": "integer" + } + } + }, + "SignedIdentifier": { + "description": "Signed identifier.", + "type": "object", + "required": [ + "Id" + ], + "properties": { + "Id": { + "type": "string", + "description": "A unique id." + }, + "AccessPolicy": { + "description": "The access policy.", + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "A collection of signed identifiers.", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier", + "xml": { + "name": "SignedIdentifier" + } + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "ShareSmbSettings": { + "description": "Settings for SMB protocol.", + "type": "object", + "xml": { + "name": "SMB" + }, + "properties": { + "Multichannel": { + "description": "Settings for SMB Multichannel.", + "$ref": "#/definitions/SmbMultichannel" + } + } + }, + "StorageServiceProperties": { + "description": "Storage service properties.", + "type": "object", + "properties": { + "HourMetrics": { + "description": "A summary of request statistics grouped by API in hourly aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "description": "A summary of request statistics grouped by API in minute aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "Protocol": { + "description": "Protocol settings", + "$ref": "#/definitions/ShareProtocolSettings" + } + } + }, + "SharePermission": { + "description": "A permission (a security descriptor) at the share level.", + "type": "object", + "required": [ + "permission" + ], + "properties": { + "permission": { + "type": "string", + "description": "The permission in the Security Descriptor Definition Language (SDDL)." + } + } + }, + "ShareEnabledProtocols": { + "type": "string" + }, + "ShareRootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + }, + "parameters": { + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "accessTier", + "in": "header", + "description": "Specifies the access tier of the share.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-client-name": "version", + "x-ms-parameter-location": "client", + "in": "header", + "description": "Specifies the version of the operation to use for this request.", + "required": true, + "type": "string", + "enum": [ + "2023-08-03" + ] + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContentLength": { + "name": "Content-Length", + "x-ms-client-name": "contentLength", + "in": "header", + "description": "Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero.", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "contentMD5", + "in": "header", + "description": "An MD5 hash of the content. This hash is used to verify the integrity of the data during transport. When the Content-MD5 header is specified, the File service compares the hash of the content that has arrived with the header value that was sent. If the two hashes do not match, the operation will fail with error code 400 (Bad Request).", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method" + }, + "CopyActionAbort": { + "name": "x-ms-copy-action", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method", + "description": "Abort." + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy File operation." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the URL of the source file or blob, up to 2 KB in length. To copy a file to another file within the same storage account, you may use Shared Key to authenticate the source file. If you are copying a file from another storage account, or if you are copying a blob from the same storage account or another storage account, then you must authenticate the source file or blob using a shared access signature. If the source is a public blob, no authentication is required to perform the copy operation. A file in a share snapshot can also be specified as a copy source." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "FileCopyPermissionCopyMode": { + "name": "x-ms-file-permission-copy-mode", + "x-ms-client-name": "filePermissionCopyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "source", + "override" + ], + "x-ms-enum": { + "name": "PermissionCopyModeType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." + }, + "FileCopyIgnoreReadOnly": { + "name": "x-ms-file-copy-ignore-readonly", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to overwrite the target file if it already exists and has read-only attribute set." + }, + "FileCopyFileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "fileAttributes", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file attributes from a source file(source) to a target file or a list of attributes to set on a target file." + }, + "FileCopyFileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "fileCreationTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file creation time from a source file(source) to a target file or a time value in ISO 8601 format to set as creation time on a target file." + }, + "FileCopyFileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "fileLastWriteTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopyFileChangeTime": { + "name": "x-ms-file-change-time", + "x-ms-client-name": "fileChangeTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopySetArchiveAttribute": { + "name": "x-ms-file-copy-set-archive", + "x-ms-client-name": "setArchiveAttribute", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to set archive attribute on a target file. True means archive attribute will be set on a target file despite attribute overrides or a source file state." + }, + "DeletedShareName": { + "name": "x-ms-deleted-share-name", + "x-ms-client-name": "DeletedShareName", + "description": "Specifies the name of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DirectoryPath": { + "name": "directory", + "in": "path", + "description": "The path of the target directory.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "FilePath": { + "name": "fileName", + "in": "path", + "description": "The path of the target file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "ShareName": { + "name": "shareName", + "in": "path", + "description": "The name of the target share.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeletedShareVersion": { + "name": "x-ms-deleted-share-version", + "x-ms-client-name": "DeletedShareVersion", + "description": "Specifies the version of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Specifies the option include to delete the base share and all of its snapshots.", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "include-leased" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "DestinationLeaseId": { + "name": "x-ms-destination-lease-id", + "x-ms-client-name": "destinationLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "destination-lease-access-conditions" + }, + "description": "Required if the destination file has an active infinite lease. The lease ID specified for this header must match the lease ID of the destination file. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed). If this header is specified and the destination file does not currently have an active lease, the operation will also fail with status code 412 (Precondition Failed)." + }, + "FileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "FileAttributes", + "in": "header", + "description": "If specified, the provided file attributes shall be set. Default value: ‘Archive’ for file and ‘Directory’ for directory. ‘None’ can also be specified as default.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileCacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "fileCacheControl", + "description": "Sets the file's cache control. The File service stores this value but does not use or modify it.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "fileContentDisposition", + "description": "Sets the file's Content-Disposition header.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "fileContentEncoding", + "in": "header", + "description": "Specifies which content encodings have been applied to the file.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "fileContentLanguage", + "in": "header", + "description": "Specifies the natural languages used by this resource.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "fileContentMD5", + "in": "header", + "description": "Sets the file's MD5 hash.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "fileContentType", + "in": "header", + "description": "Sets the MIME content type of the file. The default type is 'application/octet-stream'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "FileCreationTime", + "in": "header", + "description": "Creation time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWriteTime", + "in": "header", + "description": "Last write time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileChangeTime": { + "name": "x-ms-file-change-time", + "x-ms-client-name": "FileChangeTime", + "in": "header", + "description": "Change time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTimeMode": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWrittenMode", + "in": "header", + "description": "If the file last write time should be preserved or overwritten", + "required": false, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Now", + "Preserve" + ], + "x-ms-enum": { + "name": "FileLastWrittenMode", + "modelAsString": false + } + }, + "FilePermission": { + "name": "x-ms-file-permission", + "x-ms-client-name": "FilePermission", + "in": "header", + "description": "If specified the permission (security descriptor) shall be set for the directory/file. This header can be used if Permission size is <= 8KB, else x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as input, it must have owner, group and dacl. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKey": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKeyRequired": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileRangeWriteFromUrl": { + "name": "x-ms-write", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileRangeWriteFromUrl", + "in": "header", + "description": "Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range.", + "required": true, + "type": "string", + "enum": [ + "update" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteFromUrlType", + "modelAsString": false + } + }, + "FileRequestIntent": { + "name": "x-ms-file-request-intent", + "x-ms-client-name": "fileRequestIntent", + "in": "header", + "description": "Valid value is backup", + "required": false, + "type": "string", + "enum": [ + "backup" + ], + "x-ms-enum": { + "name": "ShareTokenIntent", + "modelAsString": true + } + }, + "FileType": { + "name": "x-ms-type", + "x-ms-client-name": "fileTypeConstant", + "in": "header", + "required": true, + "description": "Dummy constant parameter, file type can only be file.", + "type": "string", + "enum": [ + "file" + ], + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When this header is set to true and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "HandleId": { + "name": "x-ms-handle-id", + "x-ms-client-name": "handleId", + "in": "header", + "description": "Specifies handle ID opened on the file or directory to be closed. Asterisk (‘*’) is a wildcard that specifies all handles.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ListFilesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "Timestamps", + "Etag", + "Attributes", + "PermissionKey" + ], + "x-ms-enum": { + "name": "ListFilesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "ListFilesExtendedInfo": { + "name": "x-ms-file-extended-info", + "x-ms-client-name": "includeExtendedInfo", + "x-ms-parameter-location": "method", + "in": "header", + "type": "boolean", + "required": false, + "description": "Include extended information." + }, + "ListSharesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "snapshots", + "metadata", + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "Marker": { + "name": "marker", + "in": "query", + "description": "A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. The marker value may then be used in a subsequent call to request the next set of list items. The marker value is opaque to the client.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "description": "Specifies the maximum number of entries to return. If the request does not specify maxresults, or specifies a value greater than 5,000, the server will return up to 5,000 items.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "description": "A name-value pair to associate with a file storage object.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "OptionalBody": { + "name": "optionalbody", + "in": "body", + "description": "Initial data.", + "required": false, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters the results to return only entries whose name begins with the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrevShareSnapshot": { + "name": "prevsharesnapshot", + "in": "query", + "description": "The previous snapshot parameter is an opaque DateTime value that, when present, specifies the previous snapshot.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Return file data only from the specified byte range.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Recursive": { + "name": "x-ms-recursive", + "x-ms-client-name": "recursive", + "in": "header", + "description": "Specifies operation should apply to the directory specified in the URI, its files, its subdirectories and their files.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "RenameIgnoreReadOnly": { + "name": "x-ms-file-rename-ignore-readonly", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value that specifies whether the ReadOnly attribute on a preexisting destination file should be respected. If true, the rename will succeed, otherwise, a previous file at the destination with the ReadOnly attribute set will cause the rename to fail." + }, + "RenameReplaceIfExists": { + "name": "x-ms-file-rename-replace-if-exists", + "x-ms-client-name": "replaceIfExists", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value for if the destination file already exists, whether this request will overwrite the file or not. If true, the rename will succeed and will overwrite the destination file. If not provided or if false and the destination file does exist, the request will not overwrite the destination file. If provided and the destination file doesn’t exist, the rename will succeed. Note: This value does not override the x-ms-file-copy-ignore-read-only header value." + }, + "RenameSource": { + "name": "x-ms-file-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. Specifies the URI-style path of the source file, up to 2 KB in length." + }, + "Url": { + "name": "url", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The URL of the service account, share, directory or file that is the target of the desired operation.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + "ShareAcl": { + "name": "shareAcl", + "in": "body", + "description": "The ACL for the share.", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method" + }, + "ShareQuota": { + "name": "x-ms-share-quota", + "x-ms-client-name": "quota", + "in": "header", + "description": "Specifies the maximum size of the share, in gigabytes.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "ShareSnapshot": { + "name": "sharesnapshot", + "in": "query", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the share snapshot to query.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceContentCrc64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceIfMatchCrc64": { + "name": "x-ms-source-if-match-crc64", + "x-ms-client-name": "sourceIfMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range with a matching crc64 checksum." + }, + "SourceIfNoneMatchCrc64": { + "name": "x-ms-source-if-none-match-crc64", + "x-ms-client-name": "sourceIfNoneMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range without a matching crc64 checksum." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-lease-access-conditions" + }, + "description": "Required if the source file has an active infinite lease." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "description": "The StorageService properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method" + }, + "TargetRange": { + "name": "x-ms-range", + "x-ms-client-name": "Range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Writes data to the specified byte range in the file." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SharePermission": { + "name": "sharePermission", + "in": "body", + "description": "A permission (a security descriptor) at the share level.", + "required": true, + "schema": { + "$ref": "#/definitions/SharePermission" + }, + "x-ms-parameter-location": "method" + }, + "ShareEnabledProtocols": { + "name": "x-ms-enabled-protocols", + "description": "Protocols to enable on the share.", + "x-ms-client-name": "enabledProtocols", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ShareRootSquash": { + "name": "x-ms-root-squash", + "description": "Root squash to set on the share. Only valid for NFS shares.", + "x-ms-client-name": "rootSquash", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "AllowTrailingDot": { + "name": "x-ms-allow-trailing-dot", + "description": "If true, the trailing dot will not be trimmed from the target URI.", + "x-ms-client-name": "allowTrailingDot", + "in": "header", + "required": false, + "type": "boolean" + }, + "SourceAllowTrailingDot": { + "name": "x-ms-source-allow-trailing-dot", + "description": "If true, the trailing dot will not be trimmed from the source URI.", + "x-ms-client-name": "allowSourceTrailingDot", + "in": "header", + "required": false, + "type": "boolean" + } + } +} diff --git a/specification/storage/data-plane/Microsoft.FileStorage/readme.md b/specification/storage/data-plane/Microsoft.FileStorage/readme.md index 3adb36a62239..27623a585285 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/readme.md +++ b/specification/storage/data-plane/Microsoft.FileStorage/readme.md @@ -25,7 +25,7 @@ These are the global settings for the FileStorage API. ``` yaml openapi-type: data-plane -tag: package-2023-01 +tag: package-2023-08 use-internal-constructors: true add-credentials: true ``` @@ -93,6 +93,15 @@ input-file: - preview/2023-01-03/file.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: +- preview/2023-08-03/file.json +``` + ### Suppression ``` yaml directive: diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json new file mode 100644 index 000000000000..edf7592496ad --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/blob.json @@ -0,0 +1,1580 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-01-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices": { + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_List", + "x-ms-examples": { + "ListBlobServices": { + "$ref": "./examples/BlobServicesList.json" + } + }, + "description": "List blob services of storage account. It returns a collection of one object named default.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List blob services operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}": { + "put": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_SetServiceProperties", + "x-ms-examples": { + "PutBlobServices": { + "$ref": "./examples/BlobServicesPut.json" + }, + "BlobServicesPutLastAccessTimeBasedTracking": { + "$ref": "./examples/BlobServicesPutLastAccessTimeBasedTracking.json" + }, + "BlobServicesPutAllowPermanentDelete": { + "$ref": "./examples/BlobServicesPutAllowPermanentDelete.json" + } + }, + "description": "Sets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "The properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Blob service successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + }, + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_GetServiceProperties", + "x-ms-examples": { + "GetBlobServices": { + "$ref": "./examples/BlobServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Blob service.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers": { + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_List", + "x-ms-examples": { + "ListContainers": { + "$ref": "./examples/BlobContainersList.json" + }, + "ListDeletedContainers": { + "$ref": "./examples/DeletedBlobContainersList.json" + } + }, + "description": "Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of containers that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only container names starting with the filter will be listed." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListContainersInclude", + "modelAsString": true + }, + "description": "Optional, used to include the properties for soft deleted blob containers." + } + ], + "responses": { + "200": { + "description": "OK -- List Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/ListContainerItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Create", + "x-ms-examples": { + "PutContainers": { + "$ref": "./examples/BlobContainersPut.json" + }, + "PutContainerWithDefaultEncryptionScope": { + "$ref": "./examples/BlobContainersPutDefaultEncryptionScope.json" + }, + "PutContainerWithObjectLevelWorm": { + "$ref": "./examples/BlobContainersPutObjectLevelWorm.json" + } + }, + "description": "Creates a new container under the specified account as described by request body. The container resource includes metadata and properties for that container. It does not include a list of the blobs contained by the container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties of the blob container to create." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + }, + "200": { + "description": "OK -- The Container is already created.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "patch": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Update", + "x-ms-examples": { + "UpdateContainers": { + "$ref": "./examples/BlobContainersPatch.json" + } + }, + "description": "Updates container properties as specified in request body. Properties not mentioned in the request will be unchanged. Update fails if the specified container doesn't already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties to update for the blob container." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer", + "description": "Properties of the updated blob container." + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Get", + "x-ms-examples": { + "GetContainers": { + "$ref": "./examples/BlobContainersGet.json" + }, + "GetBlobContainersGetWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json" + } + }, + "description": "Gets properties of a specified container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Delete", + "x-ms-examples": { + "DeleteContainers": { + "$ref": "./examples/BlobContainersDelete.json" + } + }, + "description": "Deletes specified container under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete Container operation completed successfully." + }, + "204": { + "description": "No Content -- The Container not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_SetLegalHold", + "x-ms-examples": { + "SetLegalHoldContainers": { + "$ref": "./examples/BlobContainersSetLegalHold.json" + }, + "SetLegalHoldContainersWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json" + } + }, + "description": "Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold follows an append pattern and does not clear out the existing tags that are not specified in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be set to a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Set legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ClearLegalHold", + "x-ms-examples": { + "ClearLegalHoldContainers": { + "$ref": "./examples/BlobContainersClearLegalHold.json" + } + }, + "description": "Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent operation. ClearLegalHold clears out only the specified tags in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be clear from a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Clear legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_CreateOrUpdateImmutabilityPolicy", + "x-ms-examples": { + "CreateOrUpdateImmutabilityPolicy": { + "$ref": "./examples/BlobContainersPutImmutabilityPolicy.json" + }, + "CreateOrUpdateImmutabilityPolicyWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json" + } + }, + "description": "Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but not required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be created or updated to a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Creates or updates container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_GetImmutabilityPolicy", + "x-ms-examples": { + "GetImmutabilityPolicy": { + "$ref": "./examples/BlobContainersGetImmutabilityPolicy.json" + } + }, + "description": "Gets the existing immutability policy along with the corresponding ETag in response headers and body.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Gets container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_DeleteImmutabilityPolicy", + "x-ms-examples": { + "DeleteImmutabilityPolicy": { + "$ref": "./examples/BlobContainersDeleteImmutabilityPolicy.json" + } + }, + "description": "Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this operation. Deleting a locked immutability policy is not allowed, the only way is to delete the container after deleting all expired blobs inside the policy locked container.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Deletes container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_LockImmutabilityPolicy", + "x-ms-examples": { + "LockImmutabilityPolicy": { + "$ref": "./examples/BlobContainersLockImmutabilityPolicy.json" + } + }, + "description": "Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Locks container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ExtendImmutabilityPolicy", + "x-ms-examples": { + "ExtendImmutabilityPolicy": { + "$ref": "./examples/BlobContainersExtendImmutabilityPolicy.json" + } + }, + "description": "Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only action allowed on a Locked policy will be this action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be extended for a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Extends container ImmutabilityPolicy operation completed successfully..", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Lease", + "x-ms-examples": { + "Acquire a lease on a container": { + "$ref": "./examples/BlobContainersLease_Acquire.json" + }, + "Break a lease on a container": { + "$ref": "./examples/BlobContainersLease_Break.json" + } + }, + "description": "The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LeaseContainerRequest" + }, + "description": "Lease Container request body." + } + ], + "responses": { + "200": { + "description": "OK -- Lease Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/LeaseContainerResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ObjectLevelWorm", + "x-ms-examples": { + "VersionLevelWormContainerMigration": { + "$ref": "./examples/ObjectLevelWormContainerMigration.json" + } + }, + "description": "This operation migrates a blob container from container level WORM to object level immutability enabled container. Prerequisites require a container level immutability policy either in locked or unlocked state, Account level versioning must be enabled and there should be no Legal hold on the container.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the blob container migration to support object level immutability completes." + }, + "202": { + "description": "Accepted -- Blob Container migration to support object level immutability is accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ContainerProperties": { + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the deleted blob container." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the blob container was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Blob container deletion time." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for soft deleted blob container." + }, + "defaultEncryptionScope": { + "type": "string", + "description": "Default the container to use specified encryption scope for all writes." + }, + "denyEncryptionScopeOverride": { + "type": "boolean", + "description": "Block override of encryption scope from the container default." + }, + "publicAccess": { + "type": "string", + "enum": [ + "Container", + "Blob", + "None" + ], + "x-ms-enum": { + "name": "PublicAccess", + "modelAsString": false + }, + "description": "Specifies whether data in the container may be accessed publicly and the level of access." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the container was last modified." + }, + "leaseStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatus", + "modelAsString": true + }, + "description": "The lease status of the container." + }, + "leaseState": { + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Leased", + "Expired", + "Breaking", + "Broken" + ], + "x-ms-enum": { + "name": "LeaseState", + "modelAsString": true + }, + "description": "Lease state of the container." + }, + "leaseDuration": { + "type": "string", + "readOnly": true, + "enum": [ + "Infinite", + "Fixed" + ], + "x-ms-enum": { + "name": "LeaseDuration", + "modelAsString": true + }, + "description": "Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the container as metadata." + }, + "immutabilityPolicy": { + "readOnly": true, + "$ref": "#/definitions/ImmutabilityPolicyProperties", + "x-ms-client-name": "ImmutabilityPolicy", + "description": "The ImmutabilityPolicy property of the container." + }, + "legalHold": { + "readOnly": true, + "$ref": "#/definitions/LegalHoldProperties", + "description": "The LegalHold property of the container." + }, + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "hasImmutabilityPolicy": { + "type": "boolean", + "readOnly": true, + "description": "The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageWithVersioning", + "description": "The object level immutability property of the container. The property is immutable and can only be set to true at the container creation time. Existing containers must undergo a migration process." + }, + "enableNfsV3RootSquash": { + "type": "boolean", + "description": "Enable NFSv3 root squash on blob container." + }, + "enableNfsV3AllSquash": { + "type": "boolean", + "description": "Enable NFSv3 all squash on blob container." + } + }, + "description": "The properties of a container." + }, + "BlobContainer": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "ContainerProperties", + "description": "Properties of the blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the blob container, including Id, resource name, resource type, Etag." + }, + "ImmutabilityPolicyProperty": { + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyState", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked." + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive." + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicyProperties": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "ImmutabilityPolicy Etag." + }, + "updateHistory": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UpdateHistoryProperty" + }, + "description": "The ImmutabilityPolicy update history of the blob container." + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "required": [ + "properties" + ], + "description": "The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag." + }, + "ImmutableStorageWithVersioning": { + "properties": { + "enabled": { + "type": "boolean", + "description": "This is an immutable property, when set to true it enables object level immutability at the container level." + }, + "timeStamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the object level immutability was enabled." + }, + "migrationState": { + "type": "string", + "readOnly": true, + "enum": [ + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + }, + "description": "This property denotes the container level immutability to object level immutability migration state." + } + }, + "description": "Object level immutability properties of the container." + }, + "UpdateHistoryProperty": { + "properties": { + "update": { + "type": "string", + "readOnly": true, + "enum": [ + "put", + "lock", + "extend" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyUpdateType", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend." + }, + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "readOnly": true, + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the ImmutabilityPolicy was updated." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who updated the ImmutabilityPolicy." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who updated the ImmutabilityPolicy." + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive." + } + }, + "description": "An update history of the ImmutabilityPolicy of a blob container." + }, + "LegalHoldProperties": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/TagProperty" + }, + "description": "The list of LegalHold tags of a blob container." + }, + "protectedAppendWritesHistory": { + "type": "object", + "$ref": "#/definitions/ProtectedAppendWritesHistory", + "description": "Protected append blob writes history." + } + }, + "description": "The LegalHold property of a blob container." + }, + "TagProperty": { + "properties": { + "tag": { + "type": "string", + "readOnly": true, + "description": "The tag value." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the tag was added." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who added the tag." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who added the tag." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who added the tag." + } + }, + "description": "A tag of the LegalHold of a blob container." + }, + "ProtectedAppendWritesHistory": { + "type": "object", + "properties": { + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the tag was added." + } + }, + "description": "Protected append writes history setting for the blob container with Legal holds." + }, + "LegalHold": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "type": "string", + "maxLength": 23, + "minLength": 3 + }, + "description": "Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + } + }, + "required": [ + "tags" + ], + "description": "The LegalHold property of a blob container." + }, + "ListContainerItem": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "description": "The blob container properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The blob container properties be listed out." + }, + "ListContainerItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListContainerItem" + }, + "description": "List of blobs containers returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers." + }, + "BlobServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service." + }, + "defaultServiceVersion": { + "type": "string", + "description": "DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions." + }, + "deleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for blob soft delete." + }, + "isVersioningEnabled": { + "type": "boolean", + "description": "Versioning is enabled if set to true." + }, + "automaticSnapshotPolicyEnabled": { + "type": "boolean", + "description": "Deprecated in favor of isVersioningEnabled property." + }, + "changeFeed": { + "$ref": "#/definitions/ChangeFeed", + "description": "The blob service properties for change feed events." + }, + "restorePolicy": { + "$ref": "#/definitions/RestorePolicyProperties", + "description": "The blob service properties for blob restore policy." + }, + "containerDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for container soft delete." + }, + "lastAccessTimeTrackingPolicy": { + "$ref": "#/definitions/LastAccessTimeTrackingPolicy", + "description": "The blob service property to configure last access time based tracking policy." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "BlobServiceProperties", + "description": "The properties of a storage account’s Blob service." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Blob service." + }, + "BlobServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "List of blob services returned.", + "readOnly": true + } + } + }, + "ChangeFeed": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether change feed event logging is enabled for the Blob service." + }, + "retentionInDays": { + "type": "integer", + "minimum": 1, + "maximum": 146000, + "format": "int32", + "description": "Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite retention of the change feed." + } + }, + "description": "The blob service properties for change feed events." + }, + "RestorePolicyProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Blob restore is enabled if set to true." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days." + }, + "lastEnabledTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Deprecated in favor of minRestoreTime property." + }, + "minRestoreTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the minimum date and time that the restore can be started." + } + }, + "required": [ + "enabled" + ], + "description": "The blob service properties for blob restore policy" + }, + "LastAccessTimeTrackingPolicy": { + "properties": { + "enable": { + "type": "boolean", + "description": "When set to true last access time based tracking is enabled." + }, + "name": { + "type": "string", + "description": "Name of the policy. The valid value is AccessTimeTracking. This field is currently read only", + "enum": [ + "AccessTimeTracking" + ], + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + }, + "trackingGranularityInDays": { + "type": "integer", + "format": "int32", + "description": "The field specifies blob object tracking granularity in days, typically how often the blob object should be tracked.This field is currently read only with value as 1" + }, + "blobType": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently read only" + } + }, + "required": [ + "enable" + ], + "description": "The blob service properties for Last access time based tracking policy." + }, + "LeaseContainerRequest": { + "properties": { + "action": { + "type": "string", + "enum": [ + "Acquire", + "Renew", + "Change", + "Release", + "Break" + ], + "x-ms-enum": { + "name": "LeaseContainerRequestAction", + "modelAsString": true + }, + "description": "Specifies the lease action. Can be one of the available actions." + }, + "leaseId": { + "type": "string", + "description": "Identifies the lease. Can be specified in any valid GUID string format." + }, + "breakPeriod": { + "type": "integer", + "description": "Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60." + }, + "leaseDuration": { + "type": "integer", + "description": "Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires." + }, + "proposedLeaseId": { + "type": "string", + "description": "Optional for acquire, required for change. Proposed lease ID, in a GUID string format." + } + }, + "required": [ + "action" + ], + "description": "Lease Container request schema." + }, + "LeaseContainerResponse": { + "properties": { + "leaseId": { + "type": "string", + "description": "Returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease." + }, + "leaseTimeSeconds": { + "type": "string", + "description": "Approximate time remaining in the lease period, in seconds." + } + }, + "description": "Lease Container response schema." + } + }, + "parameters": { + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ImmutabilityPolicyName": { + "name": "immutabilityPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "BlobServicesName": { + "name": "BlobServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob Service within the specified storage account. Blob Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobServicesName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/common.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/common.json new file mode 100644 index 000000000000..3cdf2ad7ddec --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/common.json @@ -0,0 +1,212 @@ +{ + "swagger": "2.0", + "info": { + "title": "Storage", + "description": "Storage Resource Provider API Common Types", + "version": "2023-01-01" + }, + "paths": {}, + "definitions": { + "CorsRules": { + "properties": { + "corsRules": { + "type": "array", + "items": { + "description": "Specifies a CORS rule for the Blob service. ", + "$ref": "#/definitions/CorsRule" + }, + "description": "The List of CORS rules. You can include up to five CorsRule elements in the request. " + } + }, + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "CorsRule": { + "properties": { + "allowedOrigins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains" + }, + "allowedMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DELETE", + "GET", + "HEAD", + "MERGE", + "POST", + "OPTIONS", + "PUT", + "PATCH", + "CONNECT", + "TRACE" + ], + "x-ms-enum": { + "name": "AllowedMethods", + "modelAsString": true + } + }, + "description": "Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin." + }, + "maxAgeInSeconds": { + "type": "integer", + "description": "Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response." + }, + "exposedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of response headers to expose to CORS clients." + }, + "allowedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin request." + } + }, + "required": [ + "allowedOrigins", + "allowedMethods", + "maxAgeInSeconds", + "exposedHeaders", + "allowedHeaders" + ], + "description": "Specifies a CORS rule for the Blob service." + }, + "DeleteRetentionPolicy": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether DeleteRetentionPolicy is enabled." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and the maximum value can be 365." + }, + "allowPermanentDelete": { + "type": "boolean", + "description": "This property when set to true allows deletion of the soft deleted blob versions and snapshots. This property cannot be used blob restore policy. This property only applies to blob service and does not apply to containers or file share." + } + }, + "description": "The service properties for soft delete." + }, + "Sku": { + "properties": { + "name": { + "$ref": "#/definitions/SkuName" + }, + "tier": { + "$ref": "#/definitions/Tier" + } + }, + "required": [ + "name" + ], + "description": "The SKU of the storage account." + }, + "SkuName": { + "type": "string", + "description": "The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType.", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS", + "Premium_ZRS", + "Standard_GZRS", + "Standard_RAGZRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "Tier": { + "readOnly": true, + "type": "string", + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Storage 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 Storage service." + }, + "SignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "An unique identifier of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/AccessPolicy", + "description": "Access policy" + } + } + }, + "AccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "List of abbreviated permissions." + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersClearLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersClearLegalHold.json new file mode 100644 index 000000000000..90907f3a6fd7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersClearLegalHold.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2023-01-01", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": false, + "tags": [] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDelete.json new file mode 100644 index 000000000000..d7f00f35ff79 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "containerName": "container9689", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDeleteImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDeleteImmutabilityPolicy.json new file mode 100644 index 000000000000..b32b957dda5f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersDeleteImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1581", + "accountName": "sto9621", + "containerName": "container4910", + "immutabilityPolicyName": "default", + "If-Match": "8d59f81a7fa7be0", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1581/providers/Microsoft.Storage/storageAccounts/sto9621/blobServices/default/containers/container4910/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f81a87b40c0\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 0, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersExtendImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersExtendImmutabilityPolicy.json new file mode 100644 index 000000000000..1fc253f2b0b5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersExtendImmutabilityPolicy.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6238", + "accountName": "sto232", + "containerName": "container5023", + "If-Match": "8d59f830d0c3bf9", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 100 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6238/providers/Microsoft.Storage/storageAccounts/sto232/blobServices/default/containers/container5023/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8b2ff50332\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGet.json new file mode 100644 index 000000000000..cf91290ea717 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGet.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "containerName": "container1634", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/blobServices/default/containers/container1634", + "name": "container1634", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-26T05:06:14Z", + "immutabilityPolicy": { + "etag": "\"8d592d74cb3011a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + }, + "updateHistory": [ + { + "update": "put", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:11.431403Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "lock", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:13.0907641Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "extend", + "immutabilityPeriodSinceCreationInDays": 100, + "timestamp": "2018-03-26T05:06:14.7097716Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "legalHold": { + "hasLegalHold": true, + "tags": [ + { + "tag": "tag1", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag2", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag3", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "hasImmutabilityPolicy": true, + "hasLegalHold": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetImmutabilityPolicy.json new file mode 100644 index 000000000000..7ec9769fba11 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res5221", + "accountName": "sto9177", + "containerName": "container3489", + "immutabilityPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res5221/providers/Microsoft.Storage/storageAccounts/sto9177/blobServices/default/containers/container3489/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f828e64b75c\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 5, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..d917ce833dd5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "containerName": "container1634", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/blobServices/default/containers/container1634", + "name": "container1634", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-26T05:06:14Z", + "immutabilityPolicy": { + "etag": "\"8d592d74cb3011a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "allowProtectedAppendWritesAll": true, + "state": "Locked" + }, + "updateHistory": [ + { + "update": "put", + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:11.431403Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "lock", + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:13.0907641Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "extend", + "immutabilityPeriodSinceCreationInDays": 100, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:14.7097716Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "legalHold": { + "hasLegalHold": true, + "protectedAppendWritesHistory": { + "allowProtectedAppendWritesAll": true, + "timestamp": "2022-09-01T01:58:44.5044483Z" + }, + "tags": [ + { + "tag": "tag1", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag2", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag3", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "hasImmutabilityPolicy": true, + "hasLegalHold": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Acquire.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Acquire.json new file mode 100644 index 000000000000..3403b80df373 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Acquire.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "action": "Acquire", + "leaseId": null, + "breakPeriod": null, + "leaseDuration": -1, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Break.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Break.json new file mode 100644 index 000000000000..e5480d5fb529 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLease_Break.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "action": "Break", + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d", + "breakPeriod": null, + "leaseDuration": null, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseTimeSeconds": "0" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersList.json new file mode 100644 index 000000000000..c5718b79258d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers?api-version=2022-09-01&$maxpagesize=2&$skipToken=/sto1590/container5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLockImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLockImmutabilityPolicy.json new file mode 100644 index 000000000000..9b10c714e032 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersLockImmutabilityPolicy.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res2702", + "accountName": "sto5009", + "containerName": "container1631", + "If-Match": "8d59f825b721dd3", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2702/providers/Microsoft.Storage/storageAccounts/sto5009/blobServices/default/containers/container1631/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8a5edb084a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPatch.json new file mode 100644 index 000000000000..324b8e593c44 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPatch.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "blobContainer": { + "properties": { + "publicAccess": "Container", + "metadata": { + "metadata": "true" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "metadata": { + "metadata": "true" + }, + "publicAccess": "Container", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPut.json new file mode 100644 index 000000000000..b2bc824ccf98 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "blobContainer": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutDefaultEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutDefaultEncryptionScope.json new file mode 100644 index 000000000000..2a8720e7de1f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutDefaultEncryptionScope.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "blobContainer": { + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicy.json new file mode 100644 index 000000000000..86647cf8ddb0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicy.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f830cb130e5\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..4b9d82a7d8d6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f830cb130e5\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutObjectLevelWorm.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutObjectLevelWorm.json new file mode 100644 index 000000000000..92820fa68bcf --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersPutObjectLevelWorm.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2023-01-01", + "monitor": "true", + "blobContainer": { + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHold.json new file mode 100644 index 000000000000..02a850224256 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHold.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2023-01-01", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": true, + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..46c061c99358 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2023-01-01", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ], + "allowProtectedAppendWritesAll": true + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": true, + "tags": [ + "tag1", + "tag2", + "tag3" + ], + "allowProtectedAppendWritesAll": true + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobRangesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobRangesRestore.json new file mode 100644 index 000000000000..8dd465b5d8ef --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobRangesRestore.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + }, + "body": { + "status": "InProgress", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesGet.json new file mode 100644 index 000000000000..2a8a04e988a9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesList.json new file mode 100644 index 000000000000..4198e27221b6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesList.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPut.json new file mode 100644 index 000000000000..ae420730c4ac --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPut.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutAllowPermanentDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutAllowPermanentDelete.json new file mode 100644 index 000000000000..2c397ae149b4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutAllowPermanentDelete.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "deleteRetentionPolicy": { + "enabled": true, + "days": 300, + "allowPermanentDelete": true + }, + "isVersioningEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "deleteRetentionPolicy": { + "enabled": true, + "days": 300, + "allowPermanentDelete": true + }, + "isVersioningEnabled": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json new file mode 100644 index 000000000000..fd9b2c6f3c8a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountGet.json new file mode 100644 index 000000000000..e94029c8468b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "deletedAccountName": "sto1125", + "location": "eastus", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountList.json new file mode 100644 index 000000000000..a81b07b0c471 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedAccountList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1126", + "name": "sto1126", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1126", + "location": "eastus", + "restoreReference": "sto1126|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-19T15:10:21.5902165Z", + "deletionTime": "2020-08-20T06:11:55.1957302Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedBlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedBlobContainersList.json new file mode 100644 index 000000000000..7de1187237af --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedBlobContainersList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$include": "deleted", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Expired", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedFileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedFileSharesList.json new file mode 100644 index 000000000000..600c65720cd6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/DeletedFileSharesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "deleted", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644_1234567890", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesGet.json new file mode 100644 index 000000000000..0d9a7954655a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesGet.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesList.json new file mode 100644 index 000000000000..e32e1ce2c926 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut.json new file mode 100644 index 000000000000..0fb93de4c410 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSMBMultichannel.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSMBMultichannel.json new file mode 100644 index 000000000000..4f055a4b041e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSMBMultichannel.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSecureSmbFeatures.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSecureSmbFeatures.json new file mode 100644 index 000000000000..b112fcba1c8f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileServicesPut_EnableSecureSmbFeatures.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "protocolSettings": { + "smb": { + "versions": "SMB2.1;SMB3.0;SMB3.1.1", + "authenticationMethods": "NTLMv2;Kerberos", + "kerberosTicketEncryption": "RC4-HMAC;AES-256", + "channelEncryption": "AES-128-CCM;AES-128-GCM;AES-256-GCM" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "protocolSettings": { + "smb": { + "versions": "SMB2.1;SMB3.0;SMB3.1.1", + "authenticationMethods": "NTLMv2;Kerberos", + "kerberosTicketEncryption": "RC4-HMAC;AES-256", + "channelEncryption": "AES-128-CCM;AES-128-GCM;AES-256-GCM" + } + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareAclsPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareAclsPatch.json new file mode 100644 index 000000000000..a7e021a15c4f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareAclsPatch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2023-01-01", + "monitor": "true", + "fileShare": { + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2021-04-01T08:49:37.0000000Z", + "expiryTime": "2021-05-01T08:49:37.0000000Z", + "permission": "rwd" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2021-04-01T08:49:37.0000000Z", + "expiryTime": "2021-05-01T08:49:37.0000000Z", + "permission": "rwd" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareSnapshotsList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareSnapshotsList.json new file mode 100644 index 000000000000..a7eca162e098 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileShareSnapshotsList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "snapshots", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2020-10-26T05:47:05.0000000Z", + "shareQuota": 1024 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2020-10-26T05:47:05.0000000Z", + "shareQuota": 1024, + "snapshotTime": "2020-10-26T05:48:07.0000000Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesDelete.json new file mode 100644 index 000000000000..f390f954e25c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "shareName": "share9689", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet.json new file mode 100644 index 000000000000..c3dab99e4fe2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet_Stats.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet_Stats.json new file mode 100644 index 000000000000..483ca0c21d67 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesGet_Stats.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "$expand": "stats", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024, + "shareUsageBytes": 652945 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json new file mode 100644 index 000000000000..50f00cd1d42c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share124", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "action": "Acquire", + "leaseId": null, + "breakPeriod": null, + "leaseDuration": -1, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json new file mode 100644 index 000000000000..c87208950e3e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share12", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "action": "Break", + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d", + "breakPeriod": null, + "leaseDuration": null, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseTimeSeconds": "0" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesList.json new file mode 100644 index 000000000000..40241d6bcb33 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares?api-version=2022-09-01&$maxpagesize=2&$skipToken=/sto1590/share5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPatch.json new file mode 100644 index 000000000000..664f72e86463 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPatch.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2023-01-01", + "monitor": "true", + "fileShare": { + "properties": { + "metadata": { + "type": "image" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "metadata": { + "type": "image" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut.json new file mode 100644 index 000000000000..228795fa0ad7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2023-01-01", + "monitor": "true", + "fileShare": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_AccessTier.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_AccessTier.json new file mode 100644 index 000000000000..a1b68045f220 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_AccessTier.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2023-01-01", + "monitor": "true", + "fileShare": { + "properties": { + "accessTier": "Hot" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_NFS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_NFS.json new file mode 100644 index 000000000000..6cf4429e6c9f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesPut_NFS.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2023-01-01", + "monitor": "true", + "fileShare": { + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesRestore.json new file mode 100644 index 000000000000..576660b2f2a2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesRestore.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share1249", + "deletedShare": { + "deletedShareName": "share1249", + "deletedShareVersion": "1234567890" + }, + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserCreate.json new file mode 100644 index 000000000000..77aac2f2925a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "properties": { + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "hasSshPassword": true, + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykey=" + } + ] + } + }, + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykey=" + } + ], + "sid": "S-1-2-0-125132-153423-36235-1000" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserDelete.json new file mode 100644 index 000000000000..8298214a5e3f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserGet.json new file mode 100644 index 000000000000..e4c611a1851b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sid": "S-1-2-0-125132-153423-36235-1000", + "hasSharedKey": true, + "hasSshKey": true, + "hasSshPassword": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserListKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserListKeys.json new file mode 100644 index 000000000000..2260a5be8a27 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserListKeys.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykew=" + } + ], + "sharedKey": "" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserRegeneratePassword.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserRegeneratePassword.json new file mode 100644 index 000000000000..7efdce03998c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserRegeneratePassword.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "sshPassword": "" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserUpdate.json new file mode 100644 index 000000000000..05275e9e8894 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUserUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2023-01-01", + "properties": { + "properties": { + "homeDirectory": "homedirectory2", + "hasSharedKey": false, + "hasSshPassword": false, + "hasSshKey": false + } + }, + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "homeDirectory": "homedirectory2", + "sid": "S-1-2-0-3528686663-1788730862-2791910117-1000", + "hasSharedKey": false, + "hasSshPassword": false, + "hasSshKey": false + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUsersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUsersList.json new file mode 100644 index 000000000000..1665920022d6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/LocalUsersList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sid": "S-1-2-0-125132-153423-36235-1000", + "hasSharedKey": true, + "hasSshKey": true, + "hasSshPassword": true + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/loalUsers/user2", + "name": "user2", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rw", + "service": "blob", + "resourceName": "resourcename" + } + ], + "sid": "S-1-2-0-533672-235636-66334-1001", + "hasSharedKey": true, + "hasSshKey": false, + "hasSshPassword": true + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/NfsV3AccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/NfsV3AccountCreate.json new file mode 100644 index 000000000000..9e3f83ab336f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/NfsV3AccountCreate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Premium_LRS" + }, + "kind": "BlockBlobStorage", + "location": "eastus", + "properties": { + "isHnsEnabled": true, + "isNfsV3Enabled": true, + "supportsHttpsTrafficOnly": false, + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "BlockBlobStorage", + "location": "eastus", + "name": "sto4445", + "properties": { + "isHnsEnabled": true, + "isNfsV3Enabled": true, + "supportsHttpsTrafficOnly": false, + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12" + } + ] + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/ObjectLevelWormContainerMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/ObjectLevelWormContainerMigration.json new file mode 100644 index 000000000000..0ff6273e1034 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/ObjectLevelWormContainerMigration.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://endpoint:port/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/{location}/asyncoperations/{operationid}?monitor=true&api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/OperationsList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/OperationsList.json new file mode 100644 index 000000000000..c3b0fe7ce562 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/OperationsList.json @@ -0,0 +1,473 @@ +{ + "parameters": { + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage/storageAccounts/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Storage Account", + "description": "Creates a storage account with the specified parameters or update the properties or tags or adds custom domain for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/delete", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Delete Storage Account", + "description": "Deletes an existing storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listkeys/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List Storage Account Keys", + "description": "Returns the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/regeneratekey/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Regenerate Storage Account Keys", + "description": "Regenerates the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/checknameavailability/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that account name is valid and is not in use." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List/Get Storage Account(s)", + "description": "Returns the list of storage accounts or gets the properties for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/usages/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Usage Metrics", + "operation": "Get Subscription Usages", + "description": "Returns the limit and the current usage count for resources in the specified subscription" + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listAccountSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Account SAS Token", + "operation": "Returns Storage Account SAS Token", + "description": "Returns the Account SAS token for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listServiceSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Returns the Service SAS token for the specified storage account.", + "operation": "Returns Storage Service SAS Token", + "description": "Storage Service SAS Token" + } + }, + { + "name": "Microsoft.Storage/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Location", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.Storage that virtual network or subnet is being deleted" + } + }, + { + "name": "Microsoft.Storage/operations/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Operations", + "operation": "Poll Asynchronous Operation", + "description": "Polls the status of an asynchronous operation." + } + }, + { + "name": "Microsoft.Storage/register/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Resource Provider", + "operation": "Registers the Storage Resource Provider", + "description": "Registers the subscription for the storage resource provider and enables the creation of storage accounts." + } + }, + { + "name": "Microsoft.Storage/skus/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Skus", + "operation": "List Skus", + "description": "Lists the Skus supported by Microsoft.Storage." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/services/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Diagnostic Settings", + "description": "Create/Update storage account diagnostic settings." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "UsedCapacity", + "displayName": "Used capacity", + "displayDescription": "Account used capacity", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity", + "resourceIdDimensionNameOverride": "AccountResourceId" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "BlobCapacity", + "displayName": "Blob Capacity", + "displayDescription": "The amount of storage used by the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobCount", + "displayName": "Blob Count", + "displayDescription": "The number of Blob in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "ContainerCount", + "displayName": "Blob Container Count", + "displayDescription": "The number of containers in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobProvisionedSize", + "displayName": "Blob Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "TableCapacity", + "displayName": "Table Capacity", + "displayDescription": "The amount of storage used by the storage account’s Table service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableCount", + "displayName": "Table Count", + "displayDescription": "The number of table in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableEntityCount", + "displayName": "Table Entity Count", + "displayDescription": "The number of table entities in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "QueueCapacity", + "displayName": "Queue Capacity", + "displayDescription": "The amount of storage used by the storage account’s Queue service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueCount", + "displayName": "Queue Count", + "displayDescription": "The number of queue in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueMessageCount", + "displayName": "Queue Message Count", + "displayDescription": "The approximate number of queue messages in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "FileCapacity", + "displayName": "File Capacity", + "displayDescription": "The amount of storage used by the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileProvisionedSize", + "displayName": "File Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileCount", + "displayName": "File Count", + "displayDescription": "The number of file in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileShareCount", + "displayName": "File Share Count", + "displayDescription": "The number of file shares in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationDelete.json new file mode 100644 index 000000000000..c4fbbfec9dda --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationGet.json new file mode 100644 index 000000000000..95c9d1e255bc --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationList.json new file mode 100644 index 000000000000..dc331ede4a58 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6186", + "name": "queue6186", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues?api-version=2022-09-01&$maxpagesize=2&$skipToken=/sto328/queue6187" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPatch.json new file mode 100644 index 000000000000..4a2d458a34f8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPatch.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2023-01-01", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPut.json new file mode 100644 index 000000000000..4a2d458a34f8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPut.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2023-01-01", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPutWithMetadata.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPutWithMetadata.json new file mode 100644 index 000000000000..6997af648b4e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueOperationPutWithMetadata.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2023-01-01", + "monitor": "true", + "queue": { + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesGet.json new file mode 100644 index 000000000000..3dd3bb609891 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesList.json new file mode 100644 index 000000000000..143bd422ef87 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesPut.json new file mode 100644 index 000000000000..892dee6689d9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/QueueServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/SKUList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/SKUList.json new file mode 100644 index 000000000000..ea659d8e4c24 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/SKUList.json @@ -0,0 +1,6454 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "true" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json new file mode 100644 index 000000000000..9faedfeafec8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2023-01-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://endpoint:port/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/{location}/asyncoperations/{operationid}?monitor=true&api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCheckNameAvailability.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCheckNameAvailability.json new file mode 100644 index 000000000000..952b0a58e7da --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2023-01-01", + "accountName": { + "name": "sto3363", + "type": "Microsoft.Storage/storageAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreate.json new file mode 100644 index 000000000000..93aebab28324 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreate.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json new file mode 100644 index 000000000000..c875f498f2e3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "allowedCopyScope": "AAD", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "allowedCopyScope": "AAD" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json new file mode 100644 index 000000000000..4bd2c3b3f8f1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "allowedCopyScope": "PrivateLink", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "allowedCopyScope": "PrivateLink" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json new file mode 100644 index 000000000000..742b53cd1ebf --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "publicNetworkAccess": "Disabled", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json new file mode 100644 index 000000000000..eab0acf8f691 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "dnsEndpointType": "AzureDnsZone", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "dnsEndpointType": "AzureDnsZone", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.z24.web.storage.azure.net/", + "dfs": "https://sto4445.z24.dfs.storage.azure.net/", + "blob": "https://sto4445.z24.blob.storage.azure.net/", + "file": "https://sto4445.z24.file.storage.azure.net/", + "queue": "https://sto4445.z24.queue.storage.azure.net/", + "table": "https://sto4445.z24.table.storage.azure.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.z24.web.storage.azure.net/", + "dfs": "https://sto4445-microsoftrouting.z24.dfs.storage.azure.net/", + "blob": "https://sto4445-microsoftrouting.z24.blob.storage.azure.net/", + "file": "https://sto4445-microsoftrouting.z24.file.storage.azure.net/", + "queue": "https://sto4445-microsoftrouting.z24.queue.storage.azure.net/", + "table": "https://sto4445-microsoftrouting.z24.table.storage.azure.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.z24.web.storage.azure.net/", + "dfs": "https://sto4445-internetrouting.z24.dfs.storage.azure.net/", + "blob": "https://sto4445-internetrouting.z24.blob.storage.azure.net/", + "file": "https://sto4445-internetrouting.z24.file.storage.azure.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json new file mode 100644 index 000000000000..6f8063db23f1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "dnsEndpointType": "Standard", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "dnsEndpointType": "Standard", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json new file mode 100644 index 000000000000..f321e0db8d6b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "publicNetworkAccess": "Enabled", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..5710a84f51e4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..3560635fa01b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json new file mode 100644 index 000000000000..3dc934223c36 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Premium_LRS" + }, + "kind": "BlockBlobStorage", + "location": "eastus", + "properties": { + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "blob": "https://sto4445.blob.core.windows.net/", + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/" + }, + "primaryLocation": "eastus2euap", + "accessTier": "Premium", + "provisioningState": "Succeeded", + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json new file mode 100644 index 000000000000..c29ede38f3c8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json new file mode 100644 index 000000000000..cde3e85496f3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res131918", + "accountName": "sto131918", + "api-version": "2023-01-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "f83c6b1b-4d34-47e4-bb34-9d83df58b540" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "f83c6b1b-4d34-47e4-bb34-9d83df58b540" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateWithImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateWithImmutabilityPolicy.json new file mode 100644 index 000000000000..b0ca72b4f4c0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateWithImmutabilityPolicy.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + }, + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + }, + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..c37c455b04c5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteBlobInventoryPolicy.json new file mode 100644 index 000000000000..6d78b1cac709 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteBlobInventoryPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "blobInventoryPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteManagementPolicy.json new file mode 100644 index 000000000000..18aa3e67ea8c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteManagementPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteObjectReplicationPolicy.json new file mode 100644 index 000000000000..890825f1f6c5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeleteObjectReplicationPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeletePrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..df32dd4eef8f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableAD.json new file mode 100644 index 000000000000..8f8882beef2c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableAD.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012", + "samAccountName": "sam12498", + "accountType": "User" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012", + "samAccountName": "sam12498", + "accountType": "User" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableCMK.json new file mode 100644 index 000000000000..1d5a2c1145cd --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEnableCMK.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEncryptionScopeList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEncryptionScopeList.json new file mode 100644 index 000000000000..50449dc3b801 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountEncryptionScopeList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/scope-1", + "name": "scope-1", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/scope-2", + "name": "scope-2", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + }, + "creationTime": "2018-10-16T04:32:14.3355306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailover.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailover.json new file mode 100644 index 000000000000..469f4618b848 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailover.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://endpoint:port/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/{location}/asyncoperations/{operationid}?monitor=true&api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailoverPlanned.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailoverPlanned.json new file mode 100644 index 000000000000..a6fd7f26150a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountFailoverPlanned.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2023-01-01", + "monitor": "true", + "failoverType": "Planned" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://endpoint:port/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/{location}/asyncoperations/{operationid}?monitor=true&api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetAsyncSkuConversionStatus.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetAsyncSkuConversionStatus.json new file mode 100644 index 000000000000..b7a9a5a0def2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetAsyncSkuConversionStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "StorageV2", + "location": "eastus", + "name": "sto8596", + "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "storageAccountSkuConversionStatus": { + "skuConversionStatus": "InProgress", + "targetSkuName": "Standard_GRS", + "startTime": "2022-09-01T02:53:39.0932539Z", + "endTime": "2021-09-02T02:53:39.0932539Z" + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetBlobInventoryPolicy.json new file mode 100644 index 000000000000..4d44e5da548e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetBlobInventoryPolicy.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetEncryptionScope.json new file mode 100644 index 000000000000..8fcf3945a4fe --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetEncryptionScope.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encyrption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetManagementPolicy.json new file mode 100644 index 000000000000..e4d349691294 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetManagementPolicy.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T03:01:55.7168089Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationFailed.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationFailed.json new file mode 100644 index 000000000000..7a2824a42c63 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "api-version": "2023-01-01", + "migrationName": "default", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/accountMigrations/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/accountMigrations", + "properties": { + "targetSkuName": "Standard_ZRS", + "migrationStatus": "Failed", + "migrationFailedReason": "ZrsNotSupportedForAccountWithArchiveData", + "migrationFailedDetailedReason": "ZRS is not supported for accounts with archive data." + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationInProgress.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationInProgress.json new file mode 100644 index 000000000000..aecf109d3a63 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetMigrationInProgress.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "api-version": "2023-01-01", + "migrationName": "default", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/accountMigrations/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/accountMigrations", + "properties": { + "targetSkuName": "Standard_ZRS", + "migrationStatus": "InProgress" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetObjectReplicationPolicy.json new file mode 100644 index 000000000000..d1f4bef8d37a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetObjectReplicationPolicy.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/{objectReplicationPolicy-Id}", + "name": "{objectReplicationPolicy-Id}", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "{objectReplicationPolicy-Id}", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1", + "rules": [ + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobC", + "blobD" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..931a1c6a7016 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetProperties.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetProperties.json new file mode 100644 index 000000000000..28803377f6d7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetProperties.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false, + "isSkuConversionBlocked": false, + "accountMigrationInProgress": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKEnabled.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKEnabled.json new file mode 100644 index 000000000000..66c5f680a658 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKEnabled.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json new file mode 100644 index 000000000000..c596e3afde1f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z", + "currentVersionedKeyExpirationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverFalse.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverFalse.json new file mode 100644 index 000000000000..17e67e4fca37 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverFalse.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "$expand": "geoReplicationStats" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": false, + "canPlannedFailover": false, + "postFailoverRedundancy": "Standard_LRS", + "postPlannedFailoverRedundancy": "Standard_GRS" + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false, + "isSkuConversionBlocked": false, + "accountMigrationInProgress": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverTrue.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverTrue.json new file mode 100644 index 000000000000..4633e24bca5c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverTrue.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "$expand": "geoReplicationStats" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true, + "canPlannedFailover": true, + "postFailoverRedundancy": "Standard_LRS", + "postPlannedFailoverRedundancy": "Standard_GRS" + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false, + "isSkuConversionBlocked": false, + "accountMigrationInProgress": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountHierarchicalNamespaceMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountHierarchicalNamespaceMigration.json new file mode 100644 index 000000000000..c6bc6fa91a96 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountHierarchicalNamespaceMigration.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2023-01-01", + "requestType": "HnsOnValidationRequest" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://endpoint:port/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/{location}/asyncoperations/{operationid}?monitor=true&api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountList.json new file mode 100644 index 000000000000..f59b8a2bbc1f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountList.json @@ -0,0 +1,313 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2627/providers/Microsoft.Storage/storageAccounts/sto1125", + "kind": "Storage", + "location": "eastus", + "name": "sto1125", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:28:53.4540398Z", + "primaryEndpoints": { + "web": "https://sto1125.web.core.windows.net/", + "dfs": "https://sto1125.dfs.core.windows.net/", + "blob": "https://sto1125.blob.core.windows.net/", + "file": "https://sto1125.file.core.windows.net/", + "queue": "https://sto1125.queue.core.windows.net/", + "table": "https://sto1125.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto1125-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto1125-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto1125-microsoftrouting.blob.core.windows.net/", + "file": "https://sto1125-microsoftrouting.file.core.windows.net/", + "queue": "https://sto1125-microsoftrouting.queue.core.windows.net/", + "table": "https://sto1125-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto1125-internetrouting.web.core.windows.net/", + "dfs": "https://sto1125-internetrouting.dfs.core.windows.net/", + "blob": "https://sto1125-internetrouting.blob.core.windows.net/", + "file": "https://sto1125-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto3699", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto3699", + "properties": { + "creationTime": "2017-05-24T10:06:30.6093014Z", + "primaryEndpoints": { + "blob": "https://sto3699.blob.core.windows.net/", + "file": "https://sto3699.file.core.windows.net/", + "queue": "https://sto3699.queue.core.windows.net/", + "table": "https://sto3699.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto6637", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto6637", + "properties": { + "creationTime": "2017-05-24T10:09:39.5625175Z", + "primaryEndpoints": { + "blob": "https://sto6637.blob.core.windows.net/", + "file": "https://sto6637.file.core.windows.net/", + "queue": "https://sto6637.queue.core.windows.net/", + "table": "https://sto6637.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res8186/providers/Microsoft.Storage/storageAccounts/sto834", + "kind": "Storage", + "location": "eastus", + "name": "sto834", + "properties": { + "creationTime": "2017-05-24T13:28:20.8686541Z", + "primaryEndpoints": { + "blob": "https://sto834.blob.core.windows.net/", + "file": "https://sto834.file.core.windows.net/", + "queue": "https://sto834.queue.core.windows.net/", + "table": "https://sto834.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto9174", + "identity": { + "principalId": "933e3ddf-1802-4a51-9469-18a33b576f88", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto9174", + "properties": { + "creationTime": "2017-05-24T09:46:19.6556989Z", + "primaryEndpoints": { + "blob": "https://sto9174.blob.core.windows.net/", + "file": "https://sto9174.file.core.windows.net/", + "queue": "https://sto9174.queue.core.windows.net/", + "table": "https://sto9174.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListAccountSAS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListAccountSAS.json new file mode 100644 index 000000000000..ce0ee2da159f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListAccountSAS.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7985", + "accountName": "sto8588", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "signedServices": "b", + "signedResourceTypes": "s", + "signedPermission": "r", + "signedProtocol": "https,http", + "signedStart": "2017-05-24T10:42:03.1567373Z", + "signedExpiry": "2017-05-24T11:42:03.1567373Z", + "keyToSign": "key1" + } + }, + "responses": { + "200": { + "body": { + "accountSasToken": "sv=2015-04-05&ss=b&srt=s&sp=r&st=2017-05-24T10%3A42%3A03Z&se=2017-05-24T11%3A42%3A03Z&spr=https,http&sig=Z0I%2BEpM%2BPPlTC8ApfUf%2BcffO2aahMgZim3U0iArqsS0%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListBlobInventoryPolicy.json new file mode 100644 index 000000000000..bac977e080a0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListBlobInventoryPolicy.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListByResourceGroup.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListByResourceGroup.json new file mode 100644 index 000000000000..7f96fd9fe1a3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6117", + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4036", + "kind": "Storage", + "location": "eastus", + "name": "sto4036", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:24:47.818801Z", + "primaryEndpoints": { + "web": "https://sto4036.web.core.windows.net/", + "dfs": "https://sto4036.dfs.core.windows.net/", + "blob": "https://sto4036.blob.core.windows.net/", + "file": "https://sto4036.file.core.windows.net/", + "queue": "https://sto4036.queue.core.windows.net/", + "table": "https://sto4036.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4452", + "kind": "Storage", + "location": "eastus", + "name": "sto4452", + "properties": { + "creationTime": "2017-05-24T13:24:15.7068366Z", + "primaryEndpoints": { + "blob": "https://sto4452.blob.core.windows.net/", + "file": "https://sto4452.file.core.windows.net/", + "queue": "https://sto4452.queue.core.windows.net/", + "table": "https://sto4452.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListKeys.json new file mode 100644 index 000000000000..38b41a1bde38 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListKeys.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res418", + "accountName": "sto2220", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListLocationUsage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListLocationUsage.json new file mode 100644 index 000000000000..8cc88d627510 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListLocationUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "eastus2(stage)", + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 55, + "limit": 250, + "name": { + "value": "StorageAccounts", + "localizedValue": "Storage Accounts" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListObjectReplicationPolicies.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListObjectReplicationPolicies.json new file mode 100644 index 000000000000..4cc2b5fbc98a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListObjectReplicationPolicies.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "name": "c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/objectReplicationPolicies/141d23dc-8958-4b48-b6e6-5a40bf1af116", + "name": "141d23dc-8958-4b48-b6e6-5a40bf1af116", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount2" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateEndpointConnections.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateEndpointConnections.json new file mode 100644 index 000000000000..9d1e5bbb896d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateEndpointConnections.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateLinkResources.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateLinkResources.json new file mode 100644 index 000000000000..479e2136a022 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListPrivateLinkResources.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob", + "name": "blob", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob", + "requiredMembers": [ + "blob" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob_secondary", + "name": "blob_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob_secondary", + "requiredMembers": [ + "blob_secondary" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table", + "name": "table", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table", + "requiredMembers": [ + "table" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table_secondary", + "name": "table_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table_secondary", + "requiredMembers": [ + "table_secondary" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs", + "name": "dfs", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs", + "requiredMembers": [ + "dfs" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs_secondary", + "name": "dfs_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs_secondary", + "requiredMembers": [ + "dfs_secondary" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListServiceSAS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListServiceSAS.json new file mode 100644 index 000000000000..a61a4102373e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountListServiceSAS.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7439", + "accountName": "sto1299", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "canonicalizedResource": "/blob/sto1299/music", + "signedResource": "c", + "signedPermission": "l", + "signedExpiry": "2017-05-24T11:32:48.8457197Z" + } + }, + "responses": { + "200": { + "body": { + "serviceSasToken": "sv=2015-04-05&sr=c&se=2017-05-24T11%3A32%3A48Z&sp=l&sig=PoF8yBUGixsjzwroLmw7vG3VbGz4KB2woZC2D4C2oio%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPatchEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPatchEncryptionScope.json new file mode 100644 index 000000000000..fb3dd2bddce0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPatchEncryptionScope.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2023-01-01", + "monitor": "true", + "encryptionScope": { + "properties": { + "source": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c", + "currentVersionedKeyIdentifier": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPostMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPostMigration.json new file mode 100644 index 000000000000..b2ea7b3c27f1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPostMigration.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "targetSkuName": "Standard_ZRS" + } + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2022-09-01" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScope.json new file mode 100644 index 000000000000..d8078c2b9412 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScope.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2023-01-01", + "monitor": "true", + "encryptionScope": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json new file mode 100644 index 000000000000..a278b68fe692 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "accountname", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2023-01-01", + "monitor": "true", + "encryptionScope": { + "properties": { + "requireInfrastructureEncryption": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "requireInfrastructureEncryption": true, + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "requireInfrastructureEncryption": true, + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutPrivateEndpointConnection.json new file mode 100644 index 000000000000..44deb8599864 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountPutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKerbKey.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKerbKey.json new file mode 100644 index 000000000000..6a6af7306296 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKerbKey.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2023-01-01", + "monitor": "true", + "regenerateKey": { + "keyName": "kerb1" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + }, + { + "keyName": "kerb1", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKey.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKey.json new file mode 100644 index 000000000000..9092e691852b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRegenerateKey.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2023-01-01", + "monitor": "true", + "regenerateKey": { + "keyName": "key2" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRevokeUserDelegationKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRevokeUserDelegationKeys.json new file mode 100644 index 000000000000..d493d8d82e28 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountRevokeUserDelegationKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2023-01-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicy.json new file mode 100644 index 000000000000..a6aa722dccd1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicy.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "creationTime": { + "lastNDays": 1000 + }, + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "creationTime": { + "lastNDays": 1000 + }, + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold" + ] + }, + "destination": "container2" + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json new file mode 100644 index 000000000000..1560795813bb --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "DeletionId", + "Deleted", + "DeletedTime", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "DeletionId", + "Deleted", + "DeletedTime", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json new file mode 100644 index 000000000000..2c96c09e9248 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Tags", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "Deleted", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Tags", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "Deleted", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy.json new file mode 100644 index 000000000000..b9b7c9e0d513 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyColdTierActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyColdTierActions.json new file mode 100644 index 000000000000..ecbca15ed649 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyColdTierActions.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "tierToCold": { + "daysAfterModificationGreaterThan": 30 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCold": { + "daysAfterCreationGreaterThan": 30 + }, + "delete": { + "daysAfterCreationGreaterThan": 30 + } + }, + "version": { + "tierToCold": { + "daysAfterCreationGreaterThan": 30 + }, + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "tierToCold": { + "daysAfterModificationGreaterThan": 30 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCold": { + "daysAfterCreationGreaterThan": 30 + }, + "delete": { + "daysAfterCreationGreaterThan": 30 + } + }, + "version": { + "tierToCold": { + "daysAfterCreationGreaterThan": 30 + }, + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2021-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json new file mode 100644 index 000000000000..765d4a59a792 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "delete": { + "daysAfterModificationGreaterThan": 90 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + }, + "version": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "delete": { + "daysAfterModificationGreaterThan": 90 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + }, + "version": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyHotTierActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyHotTierActions.json new file mode 100644 index 000000000000..15f23df1def3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyHotTierActions.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToHot": { + "daysAfterModificationGreaterThan": 30 + } + }, + "snapshot": { + "tierToHot": { + "daysAfterCreationGreaterThan": 30 + } + }, + "version": { + "tierToHot": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToHot": { + "daysAfterModificationGreaterThan": 30 + } + }, + "snapshot": { + "tierToHot": { + "daysAfterCreationGreaterThan": 30 + } + }, + "version": { + "tierToHot": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2021-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json new file mode 100644 index 000000000000..baa86ad8a481 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + }, + "version": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + }, + "version": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json new file mode 100644 index 000000000000..4ed1306b6f2a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2021-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json new file mode 100644 index 000000000000..99cf446e2ca6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json new file mode 100644 index 000000000000..f2effd49bed9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90, + "daysAfterLastTierChangeGreaterThan": 120 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + }, + "version": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90, + "daysAfterLastTierChangeGreaterThan": 120 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + }, + "version": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdate.json new file mode 100644 index 000000000000..e0d074ce3729 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdate.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "isSftpEnabled": true, + "isLocalUserEnabled": true, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "isSftpEnabled": true, + "isLocalUserEnabled": true, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json new file mode 100644 index 000000000000..64d04271594d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + }, + "allowedCopyScope": "AAD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "allowedCopyScope": "AAD", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json new file mode 100644 index 000000000000..32127518f089 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + }, + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "publicNetworkAccess": "Disabled", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..ab9fa589109a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..08ebefe1881b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2023-01-01", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json new file mode 100644 index 000000000000..2c8a6d0460b9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2023-01-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json new file mode 100644 index 000000000000..70f18e9ac954 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res131918", + "accountName": "sto131918", + "api-version": "2023-01-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "3109d1c4-a5de-4d84-8832-feabb916a4b6" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "3109d1c4-a5de-4d84-8832-feabb916a4b6" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json new file mode 100644 index 000000000000..8eb29e1391a0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Locked" + }, + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Locked" + }, + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationDelete.json new file mode 100644 index 000000000000..2c01d4cdcdc8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationGet.json new file mode 100644 index 000000000000..dcebbf69bfe0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationList.json new file mode 100644 index 000000000000..8470f875ab0d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6186", + "name": "table6186", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6186" + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables?api-version=2022-09-01&NextTableName=1!40!bXl0YWJsZXNoYzU0OAEwMWQ2MTI5ZTJmYjVmODFh" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPatch.json new file mode 100644 index 000000000000..dcebbf69bfe0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPatch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPut.json new file mode 100644 index 000000000000..dcebbf69bfe0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPut.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPutOrPatchAcls.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPutOrPatchAcls.json new file mode 100644 index 000000000000..3ca1061ab0b4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableOperationPutOrPatchAcls.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "raud" + } + }, + { + "id": "PTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODklMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "rad" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185", + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "raud" + } + }, + { + "id": "PTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODklMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "rad" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesGet.json new file mode 100644 index 000000000000..0330e124d3a8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesList.json new file mode 100644 index 000000000000..e68668e1af34 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesPut.json new file mode 100644 index 000000000000..a34de5b33ba0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/TableServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json new file mode 100644 index 000000000000..33e6ed35798d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/file.json @@ -0,0 +1,1046 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-01-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices": { + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_List", + "x-ms-examples": { + "ListFileServices": { + "$ref": "./examples/FileServicesList.json" + } + }, + "description": "List all file services in storage accounts", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List file services operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileServiceItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}": { + "put": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_SetServiceProperties", + "x-ms-examples": { + "PutFileServices": { + "$ref": "./examples/FileServicesPut.json" + }, + "PutFileServices_EnableSMBMultichannel": { + "$ref": "./examples/FileServicesPut_EnableSMBMultichannel.json" + }, + "PutFileServices_EnableSecureSmbFeatures": { + "$ref": "./examples/FileServicesPut_EnableSecureSmbFeatures.json" + } + }, + "description": "Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "The properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s File service successfully.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_GetServiceProperties", + "x-ms-examples": { + "GetFileServices": { + "$ref": "./examples/FileServicesGet.json" + } + }, + "description": "Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s File service.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares": { + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_List", + "x-ms-examples": { + "ListShares": { + "$ref": "./examples/FileSharesList.json" + }, + "ListDeletedShares": { + "$ref": "./examples/DeletedFileSharesList.json" + }, + "ListShareSnapshots": { + "$ref": "./examples/FileShareSnapshotsList.json" + } + }, + "description": "Lists all shares.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of shares that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only share names starting with the filter will be listed." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: deleted, snapshots. Should be passed as a string with delimiter ','" + } + ], + "responses": { + "200": { + "description": "OK -- List Shares operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShareItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}": { + "put": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Create", + "x-ms-examples": { + "PutShares": { + "$ref": "./examples/FileSharesPut.json" + }, + "Create NFS Shares": { + "$ref": "./examples/FileSharesPut_NFS.json" + }, + "PutShares with Access Tier": { + "$ref": "./examples/FileSharesPut_AccessTier.json" + } + }, + "description": "Creates a new share under the specified account as described by request body. The share resource includes metadata and properties for that share. It does not include a list of the files contained by the share. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties of the file share to create." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: snapshots. Should be passed as a string with delimiter ','" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "200": { + "description": "OK -- The Share is already created.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Update", + "x-ms-examples": { + "UpdateShares": { + "$ref": "./examples/FileSharesPatch.json" + }, + "UpdateShareAcls": { + "$ref": "./examples/FileShareAclsPatch.json" + } + }, + "description": "Updates share properties as specified in request body. Properties not mentioned in the request will not be changed. Update fails if the specified share does not already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties to update for the file share." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare", + "description": "Properties of the updated file share." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Get", + "x-ms-examples": { + "GetShares": { + "$ref": "./examples/FileSharesGet.json" + }, + "GetShareStats": { + "$ref": "./examples/FileSharesGet_Stats.json" + } + }, + "description": "Gets properties of a specified share.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: stats. Should be passed as a string with delimiter ','." + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional, used to retrieve properties of a snapshot." + } + ], + "responses": { + "200": { + "description": "OK -- Get Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Delete", + "x-ms-examples": { + "DeleteShares": { + "$ref": "./examples/FileSharesDelete.json" + } + }, + "description": "Deletes specified share under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional, used to delete a snapshot." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "description": "Optional. Valid values are: snapshots, leased-snapshots, none. The default value is snapshots. For 'snapshots', the file share is deleted including all of its file share snapshots. If the file share contains leased-snapshots, the deletion fails. For 'leased-snapshots', the file share is deleted included all of its file share snapshots (leased/unleased). For 'none', the file share is deleted if it has no share snapshots. If the file share contains any snapshots (leased or unleased), the deletion fails." + } + ], + "responses": { + "200": { + "description": "OK -- Delete Share operation completed successfully." + }, + "204": { + "description": "No Content -- The Share not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Restore", + "x-ms-examples": { + "RestoreShares": { + "$ref": "./examples/FileSharesRestore.json" + } + }, + "description": "Restore a file share within a valid retention days if share soft delete is enabled", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "deletedShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedShare" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- The Share is successfully restored." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Lease", + "x-ms-examples": { + "Acquire a lease on a share": { + "$ref": "./examples/FileSharesLease_Acquire.json" + }, + "Break a lease on a share": { + "$ref": "./examples/FileSharesLease_Break.json" + } + }, + "description": "The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LeaseShareRequest" + }, + "description": "Lease Share request body." + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. Specify the snapshot time to lease a snapshot." + } + ], + "responses": { + "200": { + "description": "OK -- Lease Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/LeaseShareResponse" + }, + "headers": { + "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-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "FileServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "List of file services returned.", + "readOnly": true + } + } + }, + "FileServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service." + }, + "shareDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The file service properties for share soft delete." + }, + "protocolSettings": { + "$ref": "#/definitions/ProtocolSettings", + "description": "Protocol settings for file service" + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "FileServiceProperties", + "description": "The properties of File services in storage account." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of File services in storage account." + }, + "ProtocolSettings": { + "properties": { + "smb": { + "$ref": "#/definitions/SmbSetting", + "description": "Setting for SMB protocol" + } + }, + "description": "Protocol settings for file service" + }, + "SmbSetting": { + "properties": { + "multichannel": { + "$ref": "#/definitions/Multichannel", + "description": "Multichannel setting. Applies to Premium FileStorage only." + }, + "versions": { + "type": "string", + "description": "SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a string with delimiter ';'." + }, + "authenticationMethods": { + "type": "string", + "description": "SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be passed as a string with delimiter ';'." + }, + "kerberosTicketEncryption": { + "type": "string", + "description": "Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'" + }, + "channelEncryption": { + "type": "string", + "description": "SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'." + } + }, + "description": "Setting for SMB protocol" + }, + "Multichannel": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether multichannel is enabled" + } + }, + "description": "Multichannel setting. Applies to Premium FileStorage only." + }, + "FileShare": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "FileShareProperties", + "description": "Properties of the file share." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the file share, including Id, resource name, resource type, Etag." + }, + "DeletedShare": { + "properties": { + "deletedShareName": { + "type": "string", + "description": "Required. Identify the name of the deleted share that will be restored." + }, + "deletedShareVersion": { + "type": "string", + "description": "Required. Identify the version of the deleted share that will be restored." + } + }, + "required": [ + "deletedShareName", + "deletedShareVersion" + ], + "description": "The deleted share to be restored." + }, + "FileShareItem": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "description": "The file share properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The file share properties be listed out." + }, + "FileShareItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileShareItem" + }, + "description": "List of file shares returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of shares. Returned when total number of requested shares exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares." + }, + "FileShareProperties": { + "properties": { + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the share was last modified." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the share as metadata." + }, + "shareQuota": { + "type": "integer", + "minimum": 1, + "maximum": 102400, + "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400." + }, + "enabledProtocols": { + "type": "string", + "enum": [ + "SMB", + "NFS" + ], + "x-ms-enum": { + "name": "EnabledProtocols", + "modelAsString": true + }, + "description": "The authentication protocol that is used for the file share. Can only be specified when creating a share.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "rootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "RootSquashType", + "modelAsString": true + }, + "description": "The property is for NFS share only. The default is NoRootSquash." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the share." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the share was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The deleted time if the share was deleted." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for share that was soft deleted." + }, + "accessTier": { + "type": "string", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + }, + "description": "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium." + }, + "accessTierChangeTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Indicates the last modification time for share access tier." + }, + "accessTierStatus": { + "type": "string", + "readOnly": true, + "description": "Indicates if there is a pending transition for access tier." + }, + "shareUsageBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files." + }, + "leaseStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatus", + "modelAsString": true + }, + "description": "The lease status of the share." + }, + "leaseState": { + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Leased", + "Expired", + "Breaking", + "Broken" + ], + "x-ms-enum": { + "name": "LeaseState", + "modelAsString": true + }, + "description": "Lease state of the share." + }, + "leaseDuration": { + "type": "string", + "readOnly": true, + "enum": [ + "Infinite", + "Fixed" + ], + "x-ms-enum": { + "name": "LeaseDuration", + "modelAsString": true + }, + "description": "Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased." + }, + "signedIdentifiers": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SignedIdentifier" + }, + "description": "List of stored access policies specified on the share." + }, + "snapshotTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Creation time of share snapshot returned in the response of list shares with expand param \"snapshots\"." + } + }, + "description": "The properties of the file share." + }, + "LeaseShareRequest": { + "properties": { + "action": { + "type": "string", + "enum": [ + "Acquire", + "Renew", + "Change", + "Release", + "Break" + ], + "x-ms-enum": { + "name": "LeaseShareAction", + "modelAsString": true + }, + "description": "Specifies the lease action. Can be one of the available actions." + }, + "leaseId": { + "type": "string", + "description": "Identifies the lease. Can be specified in any valid GUID string format." + }, + "breakPeriod": { + "type": "integer", + "format": "int32", + "description": "Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60." + }, + "leaseDuration": { + "type": "integer", + "format": "int32", + "description": "Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires." + }, + "proposedLeaseId": { + "type": "string", + "description": "Optional for acquire, required for change. Proposed lease ID, in a GUID string format." + } + }, + "required": [ + "action" + ], + "description": "Lease Share request schema." + }, + "LeaseShareResponse": { + "properties": { + "leaseId": { + "type": "string", + "description": "Returned unique lease ID that must be included with any request to delete the share, or to renew, change, or release the lease." + }, + "leaseTimeSeconds": { + "type": "string", + "description": "Approximate time remaining in the lease period, in seconds." + } + }, + "description": "Lease Share response schema." + }, + "SignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "An unique identifier of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/AccessPolicy", + "description": "Access policy" + } + } + }, + "AccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "List of abbreviated permissions." + } + } + } + }, + "parameters": { + "FileServicesName": { + "name": "FileServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file Service within the specified storage account. File Service Name must be \"default\"", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "FileServicesName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "ShareName": { + "name": "shareName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/privatelinks.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/privatelinks.json new file mode 100644 index 000000000000..70ac281db15b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/privatelinks.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-01-01", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/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": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "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." + }, + "actionRequired": { + "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." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "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": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + } + }, + "parameters": { + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Azure resource", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json new file mode 100644 index 000000000000..16c323559d13 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json @@ -0,0 +1,564 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-01-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices": { + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_List", + "x-ms-examples": { + "QueueServicesList": { + "$ref": "./examples/QueueServicesList.json" + } + }, + "description": "List all queue services for the storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/ListQueueServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}": { + "put": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_SetServiceProperties", + "x-ms-examples": { + "QueueServicesPut": { + "$ref": "./examples/QueueServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "The properties of a storage account’s Queue service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Queue service successfully.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_GetServiceProperties", + "x-ms-examples": { + "QueueServicesGet": { + "$ref": "./examples/QueueServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}": { + "put": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Create", + "x-ms-examples": { + "QueueOperationPut": { + "$ref": "./examples/QueueOperationPut.json" + }, + "QueueOperationPutWithMetadata": { + "$ref": "./examples/QueueOperationPutWithMetadata.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Update", + "x-ms-examples": { + "QueueOperationPatch": { + "$ref": "./examples/QueueOperationPatch.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Get", + "x-ms-examples": { + "QueueOperationGet": { + "$ref": "./examples/QueueOperationGet.json" + } + }, + "description": "Gets the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Delete", + "x-ms-examples": { + "QueueOperationDelete": { + "$ref": "./examples/QueueOperationDelete.json" + } + }, + "description": "Deletes the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the queue with the specified queue name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues": { + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_List", + "x-ms-examples": { + "QueueOperationList": { + "$ref": "./examples/QueueOperationList.json" + } + }, + "description": "Gets a list of all the queues under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional, a maximum number of queues that should be included in a list queue response" + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional, When specified, only the queues with a name starting with the given filter will be listed." + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of queues successfully.", + "schema": { + "$ref": "#/definitions/ListQueueResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListQueueServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "List of queue services returned.", + "readOnly": true + } + } + }, + "QueueServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Queue service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueServiceProperties", + "description": "The properties of a storage account’s Queue service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Queue service." + }, + "StorageQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/QueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "QueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + }, + "approximateMessageCount": { + "type": "integer", + "readOnly": true, + "description": "Integer indicating an approximate number of messages in the queue. This number is not lower than the actual number of messages in the queue, but could be higher." + } + } + }, + "ListQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/ListQueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "List Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "ListQueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + } + } + }, + "ListQueueResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListQueue" + }, + "description": "List of queues returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to list next page of queues", + "readOnly": true + } + }, + "description": "Response schema. Contains list of queues returned" + } + }, + "parameters": { + "QueueServiceName": { + "name": "queueServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Queue Service within the specified storage account. Queue Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "QueueServiceName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "QueueName": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "description": "A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, it should begin and end with an alphanumeric character and it cannot have two consecutive dash(-) characters.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json new file mode 100644 index 000000000000..890f54786ed1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/storage.json @@ -0,0 +1,5773 @@ +{ + "swagger": "2.0", + "info": { + "title": "StorageManagementClient", + "description": "The Azure Storage Management API.", + "version": "2023-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Storage/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Storage Rest API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus": { + "get": { + "tags": [ + "Skus" + ], + "operationId": "Skus_List", + "description": "Lists the available SKUs supported by Microsoft.Storage for given subscription.", + "x-ms-examples": { + "SkuList": { + "$ref": "./examples/SKUList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage SKUs in the given subscription retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageSkuListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_CheckNameAvailability", + "description": "Checks that the storage account name is valid and is not already in use.", + "x-ms-examples": { + "StorageAccountCheckNameAvailability": { + "$ref": "./examples/StorageAccountCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCheckNameAvailabilityParameters" + }, + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the storage account name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}": { + "put": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Create", + "description": "Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.", + "x-ms-examples": { + "StorageAccountCreate": { + "$ref": "./examples/StorageAccountCreate.json" + }, + "NfsV3AccountCreate": { + "$ref": "./examples/NfsV3AccountCreate.json" + }, + "StorageAccountCreateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountCreateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountCreateWithImmutabilityPolicy.json" + }, + "StorageAccountCreateDisallowPublicNetworkAccess": { + "$ref": "./examples/StorageAccountCreateDisallowPublicNetworkAccess.json" + }, + "StorageAccountCreateEnablePublicNetworkAccess": { + "$ref": "./examples/StorageAccountCreateEnablePublicNetworkAccess.json" + }, + "StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.": { + "$ref": "./examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json" + }, + "StorageAccountCreateAllowedCopyScopeToPrivateLink": { + "$ref": "./examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json" + }, + "StorageAccountCreateAllowedCopyScopeToAAD": { + "$ref": "./examples/StorageAccountCreateAllowedCopyScopeToAAD.json" + }, + "StorageAccountCreatePremiumBlockBlobStorage": { + "$ref": "./examples/StorageAccountCreatePremiumBlockBlobStorage.json" + }, + "StorageAccountCreateDnsEndpointTypeToAzureDnsZone": { + "$ref": "./examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json" + }, + "StorageAccountCreateDnsEndpointTypeToStandard": { + "$ref": "./examples/StorageAccountCreateDnsEndpointTypeToStandard.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the storage account was already created from a previous request with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Delete", + "description": "Deletes a storage account in Microsoft Azure.", + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account deleted successfully." + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + } + } + }, + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_GetProperties", + "description": "Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys.", + "x-ms-examples": { + "StorageAccountGetProperties": { + "$ref": "./examples/StorageAccountGetProperties.json" + }, + "StorageAccountGetPropertiesCMKEnabled": { + "$ref": "./examples/StorageAccountGetPropertiesCMKEnabled.json" + }, + "StorageAccountGetAsyncSkuConversionStatus": { + "$ref": "./examples/StorageAccountGetAsyncSkuConversionStatus.json" + }, + "StorageAccountGetPropertiesCMKVersionExpirationTime": { + "$ref": "./examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json" + }, + "StorageAccountGetPropertiesGeoReplicationStatscanFailoverTrue": { + "$ref": "./examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverTrue.json" + }, + "StorageAccountGetPropertiesGeoReplicationStatscanFailoverFalse": { + "$ref": "./examples/StorageAccountGetPropertiesGeoReplicationStatscanFailoverFalse.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "geoReplicationStats", + "blobRestoreStatus" + ], + "x-ms-enum": { + "name": "StorageAccountExpand", + "modelAsString": false + } + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved successfully for the storage account.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + }, + "patch": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Update", + "description": "The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation.", + "x-ms-examples": { + "StorageAccountUpdate": { + "$ref": "./examples/StorageAccountUpdate.json" + }, + "StorageAccountEnableAD": { + "$ref": "./examples/StorageAccountEnableAD.json" + }, + "StorageAccountEnableCMK": { + "$ref": "./examples/StorageAccountEnableCMK.json" + }, + "StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountUpdateDisablePublicNetworkAccess": { + "$ref": "./examples/StorageAccountUpdateDisablePublicNetworkAccess.json" + }, + "StorageAccountUpdateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountUpdateWithImmutabilityPolicy.json" + }, + "StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId": { + "$ref": "./examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json" + }, + "StorageAccountUpdateAllowedCopyScopeToAAD": { + "$ref": "./examples/StorageAccountUpdateAllowedCopyScopeToAAD.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to provide for the updated account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account properties updated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_List", + "description": "Lists deleted accounts under the subscription.", + "x-ms-examples": { + "DeletedAccountList": { + "$ref": "./examples/DeletedAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of deleted accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/DeletedAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_Get", + "description": "Get properties of specified deleted account resource.", + "x-ms-examples": { + "DeletedAccountGet": { + "$ref": "./examples/DeletedAccountGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeletedAccountName" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved and returned successfully for the deleted account.", + "schema": { + "$ref": "#/definitions/DeletedAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_List", + "description": "Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountList": { + "$ref": "./examples/StorageAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListByResourceGroup", + "description": "Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountListByResourceGroup": { + "$ref": "./examples/StorageAccountListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts in the given resource group retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListKeys", + "description": "Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.", + "x-ms-examples": { + "StorageAccountListKeys": { + "$ref": "./examples/StorageAccountListKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "kerb" + ], + "x-ms-enum": { + "name": "ListKeyExpand" + }, + "description": "Specifies type of the key to be listed. Possible value is kerb." + } + ], + "responses": { + "200": { + "description": "OK -- list of keys retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RegenerateKey", + "description": "Regenerates one of the access keys or Kerberos keys for the specified storage account.", + "x-ms-examples": { + "StorageAccountRegenerateKey": { + "$ref": "./examples/StorageAccountRegenerateKey.json" + }, + "StorageAccountRegenerateKerbKey": { + "$ref": "./examples/StorageAccountRegenerateKerbKey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "regenerateKey", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerateKeyParameters" + }, + "description": "Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- specified key regenerated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages": { + "get": { + "tags": [ + "LocationUsage" + ], + "operationId": "Usages_ListByLocation", + "description": "Gets the current usage count and the limit for the resources of the location under the subscription.", + "x-ms-examples": { + "UsageList": { + "$ref": "./examples/StorageAccountListLocationUsage.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Azure Storage resource." + } + ], + "responses": { + "200": { + "description": "OK -- current usage count and limit retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListAccountSAS", + "description": "List SAS credentials of a storage account.", + "x-ms-examples": { + "StorageAccountListAccountSAS": { + "$ref": "./examples/StorageAccountListAccountSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountSasParameters" + }, + "description": "The parameters to provide to list SAS credentials for the storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the account SAS created for the storage account requested.", + "schema": { + "$ref": "#/definitions/ListAccountSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListServiceSAS", + "description": "List service SAS credentials of a specific resource.", + "x-ms-examples": { + "StorageAccountListServiceSAS": { + "$ref": "./examples/StorageAccountListServiceSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceSasParameters" + }, + "description": "The parameters to provide to list service SAS credentials." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the service SAS created for the storage service requested.", + "schema": { + "$ref": "#/definitions/ListServiceSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Failover", + "description": "A failover request can be triggered for a storage account in the event a primary endpoint becomes unavailable for any reason. The failover occurs from the storage account's primary cluster to the secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover and the account is converted to LRS. In the case of a Planned Failover, the primary and secondary clusters are swapped after failover and the account remains geo-replicated. Failover should continue to be used in the event of availability issues as Planned failover is only available while the primary and secondary endpoints are available. The primary use case of a Planned Failover is disaster recovery testing drills. This type of failover is invoked by setting FailoverType parameter to 'Planned'. Learn more about the failover options here- https://learn.microsoft.com/en-us/azure/storage/common/storage-disaster-recovery-guidance", + "x-ms-examples": { + "StorageAccountFailover": { + "$ref": "./examples/StorageAccountFailover.json" + }, + "StorageAccountFailoverPlanned": { + "$ref": "./examples/StorageAccountFailoverPlanned.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "failoverType", + "description": "The parameter is set to 'Planned' to indicate whether a Planned failover is requested.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "Planned" + ], + "x-ms-enum": { + "name": "failoverType", + "modelAsString": false + } + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account failover is completed, and the secondary cluster has become primary." + }, + "202": { + "description": "Accepted -- Failover request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_HierarchicalNamespaceMigration", + "description": "Live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountHierarchicalNamespaceMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "requestType", + "in": "query", + "required": true, + "type": "string", + "description": "Required. Hierarchical namespace migration type can either be a hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the hydration request will migrate the account." + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is completed." + }, + "202": { + "description": "Accepted -- Hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "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": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_AbortHierarchicalNamespaceMigration", + "description": "Abort live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountAbortHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountAbortHierarchicalNamespaceMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is aborted." + }, + "202": { + "description": "Accepted -- Abort hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "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": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/startAccountMigration": { + "post": { + "tags": [ + "AccountMigrations" + ], + "operationId": "StorageAccounts_CustomerInitiatedMigration", + "description": "Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region.", + "x-ms-examples": { + "StorageAccountPostMigration": { + "$ref": "./examples/StorageAccountPostMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountMigration" + }, + "description": "The request parameters required to perform storage account migration." + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the request is just for validating the migration request, it does not actually initiate migration; applicable in cross region migration currently." + }, + "202": { + "description": "Accepted -- Migration 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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/accountMigrations/{migrationName}": { + "get": { + "tags": [ + "AccountMigrations" + ], + "operationId": "StorageAccounts_GetCustomerInitiatedMigration", + "description": "Gets the status of the ongoing migration for the specified storage account.", + "x-ms-examples": { + "StorageAccountGetMigrationFailed": { + "$ref": "./examples/StorageAccountGetMigrationFailed.json" + }, + "StorageAccountGetMigrationInProgress": { + "$ref": "./examples/StorageAccountGetMigrationInProgress.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/MigrationName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the details of the ongoing or completed migration successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountMigration" + } + }, + "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.Storage/storageAccounts/{accountName}/restoreBlobRanges": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RestoreBlobRanges", + "description": "Restore blobs in the specified blob ranges", + "x-ms-examples": { + "BlobRangesRestore": { + "$ref": "./examples/BlobRangesRestore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobRestoreParameters" + }, + "description": "The parameters to provide for restore blob ranges." + } + ], + "responses": { + "200": { + "description": "OK -- returned when blob ranges are restored completely with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + }, + "202": { + "description": "Accepted -- Blob restore request accepted; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}": { + "get": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Get", + "description": "Gets the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetManagementPolicies": { + "$ref": "./examples/StorageAccountGetManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "put": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_CreateOrUpdate", + "description": "Sets the managementpolicy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetManagementPolicies": { + "$ref": "./examples/StorageAccountSetManagementPolicy.json" + }, + "StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json" + }, + "StorageAccountSetManagementPolicyWithSnapshotAndVersion": { + "$ref": "./examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json" + }, + "StorageAccountSetManagementPolicyForBlockAndAppendBlobs": { + "$ref": "./examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json" + }, + "StorageAccountSetManagementPolicy_LastTierChangeTimeActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json" + }, + "StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json" + }, + "StorageAccountSetManagementPolicyColdTierActions": { + "$ref": "./examples/StorageAccountSetManagementPolicyColdTierActions.json" + }, + "StorageAccountSetManagementPolicyHotTierActions": { + "$ref": "./examples/StorageAccountSetManagementPolicyHotTierActions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagementPolicy" + }, + "description": "The ManagementPolicy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "delete": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Delete", + "description": "Deletes the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteManagementPolicies": { + "$ref": "./examples/StorageAccountDeleteManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the managementpolicy successfully." + }, + "204": { + "description": "No Content -- The managementpolicy does not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Get", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountGetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_CreateOrUpdate", + "description": "Sets the blob inventory policy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicy.json" + }, + "StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json" + }, + "StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "The blob inventory policy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Delete", + "description": "Deletes the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountDeleteBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the blob inventory policy successfully." + }, + "204": { + "description": "No Content -- The blob inventory policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_List", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountListBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policies successfully.", + "schema": { + "$ref": "#/definitions/ListBlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the storage account.", + "x-ms-examples": { + "StorageAccountListPrivateEndpointConnections": { + "$ref": "./examples/StorageAccountListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountGetPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountPutPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountPutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountDeletePrivateEndpointConnection": { + "$ref": "./examples/StorageAccountDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageAccount", + "description": "Gets the private link resources that need to be created for a storage account.", + "x-ms-examples": { + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/StorageAccountListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_List", + "description": "List the object replication policies associated with the storage account.", + "x-ms-examples": { + "StorageAccountListObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountListObjectReplicationPolicies.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List object replication policies successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Get", + "description": "Get the object replication policy of the storage account by policy ID.", + "x-ms-examples": { + "StorageAccountGetObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountGetObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Get the object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_CreateOrUpdate", + "description": "Create or update the object replication policy of the storage account.", + "x-ms-examples": { + "StorageAccountCreateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountCreateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnSource.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The object replication policy set to a storage account. A unique policy ID will be created if absent." + } + ], + "responses": { + "200": { + "description": "OK -- Put object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Delete", + "description": "Deletes the object replication policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountDeleteObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the object replication policy successfully." + }, + "204": { + "description": "No Content -- The object replication policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RevokeUserDelegationKeys", + "description": "Revoke user delegation keys.", + "x-ms-examples": { + "StorageAccountRevokeUserDelegationKeys": { + "$ref": "./examples/StorageAccountRevokeUserDelegationKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3 + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- revoke user delegation keys succeeded." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers": { + "get": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_List", + "description": "List the local users associated with the storage account.", + "x-ms-examples": { + "ListLocalUsers": { + "$ref": "./examples/LocalUsersList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List local users successfully.", + "schema": { + "$ref": "#/definitions/LocalUsers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}": { + "get": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_Get", + "description": "Get the local user of the storage account by username.", + "x-ms-examples": { + "GetLocalUser": { + "$ref": "./examples/LocalUserGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Get the local user properties successfully.", + "schema": { + "$ref": "#/definitions/LocalUser" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_CreateOrUpdate", + "description": "Create or update the properties of a local user associated with the storage account", + "x-ms-examples": { + "CreateLocalUser": { + "$ref": "./examples/LocalUserCreate.json" + }, + "UpdateLocalUser": { + "$ref": "./examples/LocalUserUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalUser" + }, + "description": "The local user associated with a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put local user successfully.", + "schema": { + "$ref": "#/definitions/LocalUser" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_Delete", + "description": "Deletes the local user associated with the specified storage account.", + "x-ms-examples": { + "DeleteLocalUser": { + "$ref": "./examples/LocalUserDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the local user successfully." + }, + "204": { + "description": "No content -- Delete the local user successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/listKeys": { + "post": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_ListKeys", + "description": "List SSH authorized keys and shared key of the local user.", + "x-ms-examples": { + "ListLocalUserKeys": { + "$ref": "./examples/LocalUserListKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Get the local user keys successfully.", + "schema": { + "$ref": "#/definitions/LocalUserKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/regeneratePassword": { + "post": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_RegeneratePassword", + "description": "Regenerate the local user SSH password.", + "x-ms-examples": { + "RegenerateLocalUserPassword": { + "$ref": "./examples/LocalUserRegeneratePassword.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Regenerate local user password successfully.", + "schema": { + "$ref": "#/definitions/LocalUserRegeneratePasswordResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}": { + "put": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Put", + "description": "Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different properties, the encryption scope properties will be updated per the specified request.", + "x-ms-examples": { + "StorageAccountPutEncryptionScope": { + "$ref": "./examples/StorageAccountPutEncryptionScope.json" + }, + "StorageAccountPutEncryptionScopeWithInfrastructureEncryption": { + "$ref": "./examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the create or update." + } + ], + "responses": { + "201": { + "description": "Created -- Create encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Patch", + "description": "Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist.", + "x-ms-examples": { + "StorageAccountPatchEncryptionScope": { + "$ref": "./examples/StorageAccountPatchEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the update." + } + ], + "responses": { + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Get", + "description": "Returns the properties for the specified encryption scope.", + "x-ms-examples": { + "StorageAccountGetEncryptionScope": { + "$ref": "./examples/StorageAccountGetEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + } + ], + "responses": { + "200": { + "description": "OK -- Get encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_List", + "description": "Lists all the encryption scopes available under the specified storage account.", + "x-ms-examples": { + "StorageAccountEncryptionScopeList": { + "$ref": "./examples/StorageAccountEncryptionScopeList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "integer", + "minimum": 1, + "maximum": 5000, + "format": "int32", + "description": "Optional, specifies the maximum number of encryption scopes that will be included in the list response." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only encryption scope names starting with the filter will be listed." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "All", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ListEncryptionScopesInclude", + "modelAsString": true + }, + "description": "Optional, when specified, will list encryption scopes with the specific state. Defaults to All" + } + ], + "responses": { + "200": { + "description": "OK -- List encryption scopes operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScopeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Storage 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 Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Storage 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 Storage.", + "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": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "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" + } + } + } + }, + "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." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "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." + } + } + }, + "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." + } + } + }, + "StorageAccountCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The storage account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Storage/storageAccounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Storage/storageAccounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the storage account name." + }, + "SKUCapability": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "A string value to indicate states of given capability. Possibly 'true' or 'false'." + } + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction. As of now this can be \"QuotaId\" or \"NotAvailableForSubscription\". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The \"NotAvailableForSubscription\" is related to capacity at DC." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "StorageSkuListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "description": "Get the list result of storage SKUs and their properties." + } + }, + "description": "The response from the List Storage SKUs operation." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "SkuInformation": { + "properties": { + "name": { + "$ref": "./common.json#/definitions/SkuName" + }, + "tier": { + "$ref": "./common.json#/definitions/Tier" + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of the resource, usually it is 'storageAccounts'." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "required": [ + "name" + ], + "description": "Storage SKU and its properties" + }, + "CustomDomain": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source." + }, + "useSubDomainName": { + "type": "boolean", + "description": "Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates." + } + }, + "required": [ + "name" + ], + "description": "The custom domain assigned to this storage account. This can be set via Update." + }, + "SasPolicy": { + "properties": { + "sasExpirationPeriod": { + "type": "string", + "example": "1.15:59:59", + "description": "The SAS expiration period, DD.HH:MM:SS." + }, + "expirationAction": { + "type": "string", + "enum": [ + "Log" + ], + "x-ms-enum": { + "name": "ExpirationAction", + "modelAsString": true + }, + "default": "Log", + "description": "The SAS expiration action. Can only be Log." + } + }, + "required": [ + "sasExpirationPeriod", + "expirationAction" + ], + "description": "SasPolicy assigned to the storage account." + }, + "KeyPolicy": { + "properties": { + "keyExpirationPeriodInDays": { + "type": "integer", + "description": "The key expiration period in days.", + "format": "int32" + } + }, + "required": [ + "keyExpirationPeriodInDays" + ], + "description": "KeyPolicy assigned to the storage account." + }, + "KeyCreationTime": { + "properties": { + "key1": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + }, + "key2": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + } + }, + "description": "Storage account keys creation time." + }, + "EncryptionService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled." + }, + "lastEnabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled." + }, + "keyType": { + "type": "string", + "description": "Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.", + "enum": [ + "Service", + "Account" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "A service that allows server-side encryption to be used." + }, + "EncryptionServices": { + "properties": { + "blob": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the blob storage service." + }, + "file": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the file storage service." + }, + "table": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the table storage service." + }, + "queue": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the queue storage service." + } + }, + "description": "A list of services that support encryption." + }, + "KeyVaultProperties": { + "description": "Properties of key vault.", + "properties": { + "keyname": { + "type": "string", + "description": "The name of KeyVault key.", + "x-ms-client-name": "KeyName" + }, + "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" + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use.", + "x-ms-client-name": "CurrentVersionedKeyIdentifier" + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key.", + "x-ms-client-name": "LastKeyRotationTimestamp" + }, + "currentVersionedKeyExpirationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.", + "x-ms-client-name": "CurrentVersionedKeyExpirationTimestamp" + } + } + }, + "Encryption": { + "properties": { + "services": { + "$ref": "#/definitions/EncryptionServices", + "description": "List of services which support encryption." + }, + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault", + "enum": [ + "Microsoft.Storage", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Microsoft.Storage" + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "x-ms-client-name": "RequireInfrastructureEncryption", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + }, + "keyvaultproperties": { + "$ref": "#/definitions/KeyVaultProperties", + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties provided by key vault." + }, + "identity": { + "$ref": "#/definitions/EncryptionIdentity", + "x-ms-client-name": "EncryptionIdentity", + "description": "The identity to be used with service-side encryption at rest." + } + }, + "description": "The encryption settings on the storage account." + }, + "EncryptionIdentity": { + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.", + "x-ms-client-name": "EncryptionUserAssignedIdentity" + }, + "federatedIdentityClientId": { + "type": "string", + "description": "ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.", + "x-ms-client-name": "EncryptionFederatedIdentityClientId" + } + }, + "description": "Encryption identity for the storage account." + }, + "UserAssignedIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of the identity." + } + }, + "description": "UserAssignedIdentity for the resource." + }, + "ResourceAccessRule": { + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id" + }, + "resourceId": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Resource Access Rule." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of virtual network rule." + }, + "state": { + "type": "string", + "enum": [ + "Provisioning", + "Deprovisioning", + "Succeeded", + "Failed", + "NetworkSourceDeleted" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + }, + "description": "Gets the state of virtual network rule." + } + }, + "required": [ + "id" + ], + "description": "Virtual Network rule." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of IP ACL rule." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "enum": [ + "None", + "Logging", + "Metrics", + "AzureServices" + ], + "x-ms-enum": { + "name": "Bypass", + "modelAsString": true + }, + "x-ms-client-name": "Bypass", + "default": "AzureServices", + "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, \"Logging, Metrics\"), or None to bypass none of those traffics." + }, + "resourceAccessRules": { + "type": "array", + "items": { + "description": "Resource Access Rules.", + "$ref": "#/definitions/ResourceAccessRule" + }, + "description": "Sets the resource access rules" + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "description": "Virtual Network rule.", + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Sets the virtual network rules" + }, + "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" + }, + "defaultAction": { + "type": "string", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": false + }, + "default": "Allow", + "description": "Specifies the default action of allow or deny when no other rules match." + } + }, + "required": [ + "defaultAction" + ], + "description": "Network rule set" + }, + "AzureFilesIdentityBasedAuthentication": { + "properties": { + "directoryServiceOptions": { + "type": "string", + "description": "Indicates the directory service used. Note that this enum may be extended in the future.", + "enum": [ + "None", + "AADDS", + "AD", + "AADKERB" + ], + "x-ms-enum": { + "name": "DirectoryServiceOptions", + "modelAsString": true + } + }, + "activeDirectoryProperties": { + "$ref": "#/definitions/ActiveDirectoryProperties", + "description": "Required if directoryServiceOptions are AD, optional if they are AADKERB." + }, + "defaultSharePermission": { + "type": "string", + "description": "Default share permission for users using Kerberos authentication if RBAC role is not assigned.", + "enum": [ + "None", + "StorageFileDataSmbShareReader", + "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor" + ], + "x-ms-enum": { + "name": "DefaultSharePermission", + "modelAsString": true + } + } + }, + "required": [ + "directoryServiceOptions" + ], + "description": "Settings for Azure Files identity based authentication." + }, + "ActiveDirectoryProperties": { + "properties": { + "domainName": { + "type": "string", + "description": "Specifies the primary domain that the AD DNS server is authoritative for." + }, + "netBiosDomainName": { + "type": "string", + "description": "Specifies the NetBIOS domain name." + }, + "forestName": { + "type": "string", + "description": "Specifies the Active Directory forest to get." + }, + "domainGuid": { + "type": "string", + "description": "Specifies the domain GUID." + }, + "domainSid": { + "type": "string", + "description": "Specifies the security identifier (SID)." + }, + "azureStorageSid": { + "type": "string", + "description": "Specifies the security identifier (SID) for Azure Storage." + }, + "samAccountName": { + "type": "string", + "description": "Specifies the Active Directory SAMAccountName for Azure Storage." + }, + "accountType": { + "type": "string", + "description": "Specifies the Active Directory account type for Azure Storage.", + "enum": [ + "User", + "Computer" + ], + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + } + }, + "required": [ + "domainName", + "domainGuid" + ], + "description": "Settings properties for Active Directory (AD)." + }, + "StorageAccountPropertiesCreateParameters": { + "properties": { + "allowedCopyScope": { + "type": "string", + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption settings to be used for server-side encryption for the storage account." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set" + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01." + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is false for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The default interpretation is false for new accounts to follow best security practices by default." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the new containers in the account by default." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + } + }, + "description": "The parameters used to create the storage account." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "StorageAccountCreateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Required. Gets or sets the SKU name." + }, + "kind": { + "type": "string", + "description": "Required. Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "location": { + "type": "string", + "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for 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 with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesCreateParameters", + "description": "The parameters used to create the storage account." + } + }, + "required": [ + "sku", + "kind", + "location" + ], + "description": "The parameters used when creating a storage account." + }, + "Endpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + }, + "microsoftEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountMicrosoftEndpoints", + "description": "Gets the microsoft routing storage endpoints." + }, + "internetEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountInternetEndpoints", + "description": "Gets the internet routing storage endpoints" + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object." + }, + "StorageAccountMicrosoftEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint." + }, + "StorageAccountInternetEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint." + }, + "GeoReplicationStats": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.", + "enum": [ + "Live", + "Bootstrap", + "Unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatus", + "modelAsString": true + } + }, + "lastSyncTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap." + }, + "canFailover": { + "readOnly": true, + "type": "boolean", + "description": "A boolean flag which indicates whether or not account failover is supported for the account." + }, + "canPlannedFailover": { + "readOnly": true, + "type": "boolean", + "description": "A boolean flag which indicates whether or not planned account failover is supported for the account." + }, + "postFailoverRedundancy": { + "readOnly": true, + "type": "string", + "description": "The redundancy type of the account after an account failover is performed.", + "enum": [ + "Standard_LRS", + "Standard_ZRS" + ], + "x-ms-enum": { + "name": "postFailoverRedundancy", + "modelAsString": true + } + }, + "postPlannedFailoverRedundancy": { + "readOnly": true, + "type": "string", + "description": "The redundancy type of the account after a planned account failover is performed.", + "enum": [ + "Standard_GRS", + "Standard_GZRS", + "Standard_RAGRS", + "Standard_RAGZRS" + ], + "x-ms-enum": { + "name": "postPlannedFailoverRedundancy", + "modelAsString": true + } + } + }, + "description": "Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account." + }, + "RoutingPreference": { + "properties": { + "routingChoice": { + "type": "string", + "description": "Routing Choice defines the kind of network routing opted by the user.", + "enum": [ + "MicrosoftRouting", + "InternetRouting" + ], + "x-ms-enum": { + "name": "RoutingChoice", + "modelAsString": true + } + }, + "publishMicrosoftEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether microsoft routing storage endpoints are to be published" + }, + "publishInternetEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether internet routing storage endpoints are to be published" + } + }, + "description": "Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing" + }, + "ImmutableStorageAccount": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default." + }, + "immutabilityPolicy": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/AccountImmutabilityPolicyProperties", + "description": "Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy." + } + }, + "description": "This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning." + }, + "AccountImmutabilityPolicyProperties": { + "type": "object", + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "minimum": 1, + "maximum": 146000, + "format": "int32", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "description": "The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.", + "enum": [ + "Unlocked", + "Locked", + "Disabled" + ], + "x-ms-enum": { + "name": "AccountImmutabilityPolicyState", + "modelAsString": true + } + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + } + }, + "description": "This defines account-level immutability policy properties." + }, + "StorageAccountSkuConversionStatus": { + "type": "object", + "properties": { + "skuConversionStatus": { + "readOnly": true, + "type": "string", + "description": "This property indicates the current sku conversion status.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SkuConversionStatus", + "modelAsString": true + } + }, + "targetSkuName": { + "$ref": "./common.json#/definitions/SkuName", + "description": "This property represents the target sku name to which the account sku is being converted asynchronously." + }, + "startTime": { + "readOnly": true, + "type": "string", + "description": "This property represents the sku conversion start time." + }, + "endTime": { + "readOnly": true, + "type": "string", + "description": "This property represents the sku conversion end time." + } + }, + "description": "This defines the sku conversion status object for asynchronous sku conversions." + }, + "BlobRestoreStatus": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.", + "enum": [ + "InProgress", + "Complete", + "Failed" + ], + "x-ms-enum": { + "name": "BlobRestoreProgressStatus", + "modelAsString": true + } + }, + "failureReason": { + "readOnly": true, + "type": "string", + "description": "Failure reason when blob restore is failed." + }, + "restoreId": { + "readOnly": true, + "type": "string", + "description": "Id for tracking blob restore request." + }, + "parameters": { + "readOnly": true, + "$ref": "#/definitions/BlobRestoreParameters", + "description": "Blob restore request parameters." + } + }, + "description": "Blob restore status." + }, + "DeletedAccountProperties": { + "properties": { + "storageAccountResourceId": { + "readOnly": true, + "type": "string", + "description": "Full resource id of the original storage account." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the deleted account." + }, + "restoreReference": { + "readOnly": true, + "type": "string", + "description": "Can be used to attempt recovering this deleted account via PutStorageAccount API." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "description": "Creation time of the deleted account." + }, + "deletionTime": { + "readOnly": true, + "type": "string", + "description": "Deletion time of the deleted account." + } + }, + "description": "Attributes of a deleted storage account." + }, + "StorageAccountProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the storage account at the time the operation was called.", + "enum": [ + "Creating", + "ResolvingDNS", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "primaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint." + }, + "primaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the primary data center for the storage account." + }, + "statusOfPrimary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "lastGeoFailoverTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "secondaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "statusOfSecondary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the storage account in UTC." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "readOnly": true, + "description": "Gets the custom domain the user assigned to this storage account." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "readOnly": true, + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "readOnly": true, + "description": "KeyPolicy assigned to the storage account." + }, + "keyCreationTime": { + "readOnly": true, + "$ref": "#/definitions/KeyCreationTime", + "description": "Storage account keys creation time." + }, + "secondaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "readOnly": true, + "description": "Encryption settings to be used for server-side encryption for the storage account." + }, + "accessTier": { + "readOnly": true, + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set", + "readOnly": true + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "geoReplicationStats": { + "$ref": "#/definitions/GeoReplicationStats", + "x-ms-client-name": "GeoReplicationStats", + "description": "Geo Replication Stats", + "readOnly": true + }, + "failoverInProgress": { + "type": "boolean", + "x-ms-client-name": "FailoverInProgress", + "description": "If the failover is in progress, the value will be true, otherwise, it will be null.", + "readOnly": true + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "blobRestoreStatus": { + "$ref": "#/definitions/BlobRestoreStatus", + "x-ms-client-name": "BlobRestoreStatus", + "description": "Blob restore status", + "readOnly": true + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is false for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The default interpretation is false for new accounts to follow best security practices by default." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." + }, + "allowedCopyScope": { + "type": "string", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + }, + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet." + }, + "storageAccountSkuConversionStatus": { + "$ref": "#/definitions/StorageAccountSkuConversionStatus", + "x-ms-client-name": "StorageAccountSkuConversionStatus", + "description": "This property is readOnly and is set by server during asynchronous storage account sku conversion operations." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + }, + "isSkuConversionBlocked": { + "type": "boolean", + "x-ms-client-name": "IsSkuConversionBlocked", + "description": "This property will be set to true or false on an event of ongoing migration. Default value is null.", + "readOnly": true + }, + "accountMigrationInProgress": { + "type": "boolean", + "x-ms-client-name": "AccountMigrationInProgress", + "description": "If customer initiated account migration is in progress, the value will be true else it will be null.", + "readOnly": true + } + }, + "description": "Properties of the storage account." + }, + "DeletedAccount": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeletedAccountProperties", + "description": "Properties of the deleted account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Deleted storage account" + }, + "StorageAccount": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Gets the SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Gets the Kind.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountProperties", + "description": "Properties of the storage account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The storage account." + }, + "StorageAccountKey": { + "properties": { + "keyName": { + "readOnly": true, + "type": "string", + "description": "Name of the key." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "Base 64-encoded value of the key." + }, + "permissions": { + "readOnly": true, + "type": "string", + "description": "Permissions for the key -- read-only or full permissions.", + "enum": [ + "Read", + "Full" + ], + "x-ms-enum": { + "name": "KeyPermission", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Creation time of the key, in round trip date format." + } + }, + "description": "An access key for the storage account." + }, + "StorageAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "Gets the list of storage accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Accounts operation." + }, + "DeletedAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DeletedAccount" + }, + "description": "Gets the list of deleted accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of deleted accounts. Returned when total number of requested deleted accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Deleted Accounts operation." + }, + "StorageAccountListKeysResult": { + "properties": { + "keys": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountKey" + }, + "description": "Gets the list of storage account keys and their properties for the specified storage account." + } + }, + "description": "The response from the ListKeys operation." + }, + "StorageAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2." + } + }, + "required": [ + "keyName" + ], + "description": "The parameters used to regenerate the storage account key." + }, + "StorageAccountPropertiesUpdateParameters": { + "properties": { + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Not applicable. Azure Storage encryption at rest is enabled by default for all storage accounts and cannot be disabled." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "networkAcls": { + "description": "Network rule set", + "x-ms-client-name": "NetworkRuleSet", + "$ref": "#/definitions/NetworkRuleSet" + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is false for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. Set this property to true for new or existing accounts only if object replication policies will involve storage accounts in different AAD tenants. The default interpretation is false for new accounts to follow best security practices by default." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." + }, + "allowedCopyScope": { + "type": "string", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + }, + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + } + }, + "description": "The parameters used when updating a storage account." + }, + "StorageAccountUpdateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets 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 in length than 128 characters and a value no greater in length than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesUpdateParameters", + "description": "The parameters used when updating a storage account." + }, + "kind": { + "type": "string", + "description": "Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "description": "The parameters that can be provided when updating the storage account properties." + }, + "BlobRestoreParameters": { + "properties": { + "timeToRestore": { + "type": "string", + "format": "date-time", + "description": "Restore blob to the specified time." + }, + "blobRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobRestoreRange" + }, + "description": "Blob ranges to restore." + } + }, + "required": [ + "timeToRestore", + "blobRanges" + ], + "description": "Blob restore parameters" + }, + "BlobRestoreRange": { + "properties": { + "startRange": { + "type": "string", + "description": "Blob start range. This is inclusive. Empty means account start." + }, + "endRange": { + "type": "string", + "description": "Blob end range. This is exclusive. Empty means account end." + } + }, + "required": [ + "startRange", + "endRange" + ], + "description": "Blob range" + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "Gets a string describing the resource name." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "Gets a localized string describing the resource name." + } + }, + "description": "The usage names that can be used; currently limited to StorageAccount." + }, + "Usage": { + "properties": { + "unit": { + "readOnly": true, + "type": "string", + "description": "Gets the unit of measurement.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountsPerSecond", + "BytesPerSecond" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the current count of the allocated resources in the subscription." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the maximum count of the resources that can be allocated in the subscription." + }, + "name": { + "$ref": "#/definitions/UsageName", + "readOnly": true, + "description": "Gets the name of the type of usage." + } + }, + "description": "Describes Storage Resource Usage." + }, + "UsageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "Gets or sets the list of Storage Resource Usages." + } + }, + "description": "The response from the List Usages operation." + }, + "AccountSasParameters": { + "properties": { + "signedServices": { + "type": "string", + "enum": [ + "b", + "q", + "t", + "f" + ], + "x-ms-enum": { + "name": "Services", + "modelAsString": true + }, + "x-ms-client-name": "Services", + "description": "The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f)." + }, + "signedResourceTypes": { + "type": "string", + "enum": [ + "s", + "c", + "o" + ], + "x-ms-enum": { + "name": "SignedResourceTypes", + "modelAsString": true + }, + "x-ms-client-name": "ResourceTypes", + "description": "The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + } + }, + "required": [ + "signedServices", + "signedResourceTypes", + "signedPermission", + "signedExpiry" + ], + "description": "The parameters to list SAS credentials of a storage account." + }, + "ListAccountSasResponse": { + "properties": { + "accountSasToken": { + "readOnly": true, + "type": "string", + "description": "List SAS credentials of storage account." + } + }, + "description": "The List SAS credentials operation response." + }, + "ServiceSasParameters": { + "properties": { + "canonicalizedResource": { + "type": "string", + "description": "The canonical path to the signed resource." + }, + "signedResource": { + "type": "string", + "enum": [ + "b", + "c", + "f", + "s" + ], + "x-ms-enum": { + "name": "signedResource", + "modelAsString": true + }, + "x-ms-client-name": "Resource", + "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "signedIdentifier": { + "type": "string", + "maxLength": 64, + "x-ms-client-name": "Identifier", + "description": "A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table." + }, + "startPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyStart", + "description": "The start of partition key." + }, + "endPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyEnd", + "description": "The end of partition key." + }, + "startRk": { + "type": "string", + "x-ms-client-name": "RowKeyStart", + "description": "The start of row key." + }, + "endRk": { + "type": "string", + "x-ms-client-name": "RowKeyEnd", + "description": "The end of row key." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + }, + "rscc": { + "type": "string", + "x-ms-client-name": "CacheControl", + "description": "The response header override for cache control." + }, + "rscd": { + "type": "string", + "x-ms-client-name": "ContentDisposition", + "description": "The response header override for content disposition." + }, + "rsce": { + "type": "string", + "x-ms-client-name": "ContentEncoding", + "description": "The response header override for content encoding." + }, + "rscl": { + "type": "string", + "x-ms-client-name": "ContentLanguage", + "description": "The response header override for content language." + }, + "rsct": { + "type": "string", + "x-ms-client-name": "ContentType", + "description": "The response header override for content type." + } + }, + "required": [ + "canonicalizedResource" + ], + "description": "The parameters to list service SAS credentials of a specific resource." + }, + "ListServiceSasResponse": { + "properties": { + "serviceSasToken": { + "readOnly": true, + "type": "string", + "description": "List service SAS credentials of specific resource." + } + }, + "description": "The List service SAS credentials operation response." + }, + "ManagementPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagementPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Data Policies Rules." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Get Storage Account ManagementPolicies operation response." + }, + "ManagementPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the date and time the ManagementPolicies was last modified." + }, + "policy": { + "$ref": "#/definitions/ManagementPolicySchema", + "description": "The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "policy" + ], + "description": "The Storage Account ManagementPolicy properties." + }, + "ManagementPolicySchema": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementPolicyRule" + }, + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "rules" + ], + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + }, + "ManagementPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled if set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "type": { + "type": "string", + "description": "The valid value is Lifecycle", + "enum": [ + "Lifecycle" + ], + "x-ms-enum": { + "name": "RuleType", + "modelAsString": true + } + }, + "definition": { + "$ref": "#/definitions/ManagementPolicyDefinition", + "description": "An object that defines the Lifecycle rule." + } + }, + "required": [ + "name", + "type", + "definition" + ], + "description": "An object that wraps the Lifecycle rule. Each rule is uniquely defined by name." + }, + "ManagementPolicyDefinition": { + "properties": { + "actions": { + "$ref": "#/definitions/ManagementPolicyAction", + "description": "An object that defines the action set." + }, + "filters": { + "$ref": "#/definitions/ManagementPolicyFilter", + "description": "An object that defines the filter set." + } + }, + "required": [ + "actions" + ], + "description": "An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set." + }, + "ManagementPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings for prefixes to be match." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob." + }, + "blobIndexMatch": { + "type": "array", + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of blob index tag based filters, there can be at most 10 tag filters" + } + }, + "required": [ + "blobTypes" + ], + "description": "Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. " + }, + "TagFilter": { + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "This is the filter tag name, it can have 1 - 128 characters" + }, + "op": { + "type": "string", + "description": "This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported" + }, + "value": { + "type": "string", + "minLength": 0, + "maxLength": 256, + "description": "This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters" + } + }, + "required": [ + "name", + "op", + "value" + ], + "description": "Blob index tag based filtering for blob objects" + }, + "ManagementPolicyAction": { + "properties": { + "baseBlob": { + "$ref": "#/definitions/ManagementPolicyBaseBlob", + "description": "The management policy action for base blob" + }, + "snapshot": { + "$ref": "#/definitions/ManagementPolicySnapShot", + "description": "The management policy action for snapshot" + }, + "version": { + "$ref": "#/definitions/ManagementPolicyVersion", + "description": "The management policy action for version" + } + }, + "description": "Actions are applied to the filtered blobs when the execution condition is met." + }, + "ManagementPolicyBaseBlob": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to cool storage." + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to archive storage." + }, + "tierToCold": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to cold storage." + }, + "tierToHot": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts" + }, + "delete": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to delete the blob" + }, + "enableAutoTierToHotFromCool": { + "type": "boolean", + "description": "This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan." + } + }, + "description": "Management policy action for base blob." + }, + "ManagementPolicySnapShot": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to cool storage." + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to archive storage." + }, + "tierToCold": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blobs to cold storage." + }, + "tierToHot": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob snapshot" + } + }, + "description": "Management policy action for snapshot." + }, + "ManagementPolicyVersion": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to cool storage." + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to archive storage." + }, + "tierToCold": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blobs to cold storage." + }, + "tierToHot": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blobs to hot storage. This action can only be used with Premium Block Blob Storage Accounts" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob version" + } + }, + "description": "Management policy action for blob version." + }, + "DateAfterModification": { + "properties": { + "daysAfterModificationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last modification" + }, + "daysAfterLastAccessTimeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy" + }, + "daysAfterLastTierChangeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied." + }, + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after blob creation." + } + }, + "description": "Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan." + }, + "DateAfterCreation": { + "properties": { + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after creation" + }, + "daysAfterLastTierChangeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob version based actions. The blob will be archived if both the conditions are satisfied." + } + }, + "required": [ + "daysAfterCreationGreaterThan" + ], + "description": "Object to define snapshot and version action conditions." + }, + "EncryptionScope": { + "properties": { + "properties": { + "$ref": "#/definitions/EncryptionScopeProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "EncryptionScopeProperties", + "description": "Properties of the encryption scope." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Encryption Scope resource." + }, + "EncryptionScopeProperties": { + "properties": { + "source": { + "type": "string", + "enum": [ + "Microsoft.Storage", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "EncryptionScopeSource", + "modelAsString": true + }, + "description": "The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault." + }, + "state": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EncryptionScopeState", + "modelAsString": true + }, + "description": "The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the encryption scope in UTC." + }, + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the last modification date and time of the encryption scope in UTC." + }, + "keyVaultProperties": { + "$ref": "#/definitions/EncryptionScopeKeyVaultProperties", + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + } + }, + "description": "Properties of the encryption scope." + }, + "EncryptionScopeKeyVaultProperties": { + "properties": { + "keyUri": { + "type": "string", + "description": "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope." + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use." + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key." + } + }, + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "EncryptionScopeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "List of encryption scopes requested.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size.", + "readOnly": true + } + }, + "description": "List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes." + }, + "ObjectReplicationPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The replication policy between two storage accounts." + } + }, + "description": "List storage account object replication policies." + }, + "ObjectReplicationPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ObjectReplicationPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Object Replication Policy." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The replication policy between two storage accounts. Multiple rules can be defined in one policy." + }, + "ObjectReplicationPolicyProperties": { + "properties": { + "policyId": { + "readOnly": true, + "type": "string", + "description": "A unique id for object replication policy." + }, + "enabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Indicates when the policy is enabled on the source account." + }, + "sourceAccount": { + "type": "string", + "description": "Required. Source account name. It should be full resource id if allowCrossTenantReplication set to false." + }, + "destinationAccount": { + "type": "string", + "description": "Required. Destination account name. It should be full resource id if allowCrossTenantReplication set to false." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicyRule" + }, + "description": "The storage account object replication rules." + } + }, + "required": [ + "sourceAccount", + "destinationAccount" + ], + "description": "The Storage Account ObjectReplicationPolicy properties." + }, + "ObjectReplicationPolicyRule": { + "properties": { + "ruleId": { + "type": "string", + "description": "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account." + }, + "sourceContainer": { + "type": "string", + "description": "Required. Source container name." + }, + "destinationContainer": { + "type": "string", + "description": "Required. Destination container name." + }, + "filters": { + "$ref": "#/definitions/ObjectReplicationPolicyFilter", + "description": "Optional. An object that defines the filter set." + } + }, + "required": [ + "sourceContainer", + "destinationContainer" + ], + "description": "The replication policy rule between two containers." + }, + "ObjectReplicationPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Filters the results to replicate only blobs whose names begin with the specified prefix." + }, + "minCreationTime": { + "type": "string", + "description": "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z" + } + }, + "description": "Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters." + }, + "LocalUsers": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocalUser" + }, + "description": "The local users associated with the storage account." + } + }, + "description": "List storage account local users." + }, + "LocalUser": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/LocalUserProperties", + "x-ms-client-flatten": true, + "description": "Storage account local user properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The local user associated with the storage accounts." + }, + "LocalUserProperties": { + "type": "object", + "properties": { + "permissionScopes": { + "type": "array", + "items": { + "$ref": "#/definitions/PermissionScope" + }, + "description": "The permission scopes of the local user." + }, + "homeDirectory": { + "type": "string", + "description": "Optional, local user home directory." + }, + "sshAuthorizedKeys": { + "$ref": "#/definitions/SshAuthorizedKeys" + }, + "sid": { + "readOnly": true, + "type": "string", + "description": "A unique Security Identifier that is generated by the server." + }, + "hasSharedKey": { + "type": "boolean", + "description": "Indicates whether shared key exists. Set it to false to remove existing shared key." + }, + "hasSshKey": { + "type": "boolean", + "description": "Indicates whether ssh key exists. Set it to false to remove existing SSH key." + }, + "hasSshPassword": { + "type": "boolean", + "description": "Indicates whether ssh password exists. Set it to false to remove existing SSH password." + } + }, + "description": "The Storage Account Local User properties." + }, + "LocalUserKeys": { + "type": "object", + "properties": { + "sshAuthorizedKeys": { + "$ref": "#/definitions/SshAuthorizedKeys" + }, + "sharedKey": { + "x-ms-secret": true, + "$ref": "#/definitions/SharedKey" + } + }, + "description": "The Storage Account Local User keys." + }, + "LocalUserRegeneratePasswordResult": { + "type": "object", + "properties": { + "sshPassword": { + "x-ms-secret": true, + "readOnly": true, + "type": "string", + "description": "Auto generated password by the server for SSH authentication if hasSshPassword is set to true on the creation of local user." + } + }, + "description": "The secrets of Storage Account Local User." + }, + "PermissionScope": { + "type": "object", + "properties": { + "permissions": { + "type": "string", + "description": "The permissions for the local user. Possible values include: Read (r), Write (w), Delete (d), List (l), and Create (c)." + }, + "service": { + "type": "string", + "description": "The service used by the local user, e.g. blob, file." + }, + "resourceName": { + "type": "string", + "description": "The name of resource, normally the container name or the file share name, used by the local user." + } + }, + "required": [ + "permissions", + "service", + "resourceName" + ] + }, + "SshAuthorizedKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "Optional, local user ssh authorized keys for SFTP." + }, + "SshPublicKey": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Optional. It is used to store the function/usage of the key" + }, + "key": { + "type": "string", + "description": "Ssh public key base64 encoded. The format should be: ' ', e.g. ssh-rsa AAAABBBB" + } + } + }, + "SharedKey": { + "readOnly": true, + "type": "string", + "description": "Auto generated by the server for SMB authentication." + }, + "ListBlobInventoryPolicy": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "List of blob inventory policies.", + "readOnly": true + } + }, + "description": "List of blob inventory policies returned." + }, + "BlobInventoryPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/BlobInventoryPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the storage account blob inventory policy rules." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The storage account blob inventory policy." + }, + "BlobInventoryPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the last modified date and time of the blob inventory policy." + }, + "policy": { + "$ref": "#/definitions/BlobInventoryPolicySchema", + "description": "The storage account blob inventory policy object. It is composed of policy rules." + } + }, + "required": [ + "policy" + ], + "description": "The storage account blob inventory policy properties." + }, + "BlobInventoryPolicySchema": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Policy is enabled if set to true." + }, + "destination": { + "readOnly": true, + "type": "string", + "description": "Deprecated Property from API version 2021-04-01 onwards, the required destination container name must be specified at the rule level 'policy.rule.destination'" + }, + "type": { + "type": "string", + "description": "The valid value is Inventory", + "enum": [ + "Inventory" + ], + "x-ms-enum": { + "name": "InventoryRuleType", + "modelAsString": true + } + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicyRule" + }, + "description": "The storage account blob inventory policy rules. The rule is applied when it is enabled." + } + }, + "required": [ + "enabled", + "type", + "rules" + ], + "description": "The storage account blob inventory policy rules." + }, + "BlobInventoryPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled when set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "destination": { + "type": "string", + "description": "Container name where blob inventory files are stored. Must be pre-created." + }, + "definition": { + "$ref": "#/definitions/BlobInventoryPolicyDefinition", + "description": "An object that defines the blob inventory policy rule." + } + }, + "required": [ + "name", + "enabled", + "destination", + "definition" + ], + "description": "An object that wraps the blob inventory rule. Each rule is uniquely defined by name." + }, + "BlobInventoryPolicyDefinition": { + "properties": { + "filters": { + "$ref": "#/definitions/BlobInventoryPolicyFilter", + "description": "An object that defines the filter set." + }, + "format": { + "type": "string", + "description": "This is a required field, it specifies the format for the inventory files.", + "enum": [ + "Csv", + "Parquet" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true + } + }, + "schedule": { + "type": "string", + "description": "This is a required field. This field is used to schedule an inventory formation.", + "enum": [ + "Daily", + "Weekly" + ], + "x-ms-enum": { + "name": "schedule", + "modelAsString": true + } + }, + "objectType": { + "type": "string", + "description": "This is a required field. This field specifies the scope of the inventory created either at the blob or container level.", + "enum": [ + "Blob", + "Container" + ], + "x-ms-enum": { + "name": "objectType", + "modelAsString": true + } + }, + "schemaFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This is a required field. This field specifies the fields and properties of the object to be included in the inventory. The Schema field value 'Name' is always required. The valid values for this field for the 'Blob' definition.objectType include 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime, Tags, Etag, ContentType, ContentEncoding, ContentLanguage, ContentCRC64, CacheControl, ContentDisposition, LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, DeletionId, DeletedTime, RemainingRetentionDays, ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, CopyStatusDescription, CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, XmsBlobSequenceNumber, EncryptionScope, IncrementalCopy, TagCount'. For Blob object type schema field value 'DeletedTime' is applicable only for Hns enabled accounts. The valid values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, Deleted, Version, DeletedTime, RemainingRetentionDays'. Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, DeletionId' are valid only for Hns enabled accounts.Schema field values 'Tags, TagCount' are only valid for Non-Hns accounts." + } + }, + "required": [ + "format", + "schedule", + "objectType", + "schemaFields" + ], + "description": "An object that defines the blob inventory rule." + }, + "BlobInventoryPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings with maximum 10 blob prefixes to be included in the inventory." + }, + "excludePrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings with maximum 10 blob prefixes to be excluded from the inventory." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when definition.objectType property is set to 'Blob'." + }, + "includeBlobVersions": { + "type": "boolean", + "description": "Includes blob versions in blob inventory when value is set to true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this property is set to true, else they must be excluded." + }, + "includeSnapshots": { + "type": "boolean", + "description": "Includes blob snapshots in blob inventory when value is set to true. The definition.schemaFields value 'Snapshot' is required if this property is set to true, else it must be excluded." + }, + "includeDeleted": { + "type": "boolean", + "description": "For 'Container' definition.objectType the definition.schemaFields must include 'Deleted, Version, DeletedTime and RemainingRetentionDays'. For 'Blob' definition.objectType and HNS enabled storage accounts the definition.schemaFields must include 'DeletionId, Deleted, DeletedTime and RemainingRetentionDays' and for Hns disabled accounts the definition.schemaFields must include 'Deleted and RemainingRetentionDays', else it must be excluded." + }, + "creationTime": { + "type": "object", + "$ref": "#/definitions/BlobInventoryCreationTime", + "description": "This property is used to filter objects based on the object creation time" + } + }, + "description": "An object that defines the blob inventory rule filter conditions. For 'Blob' definition.objectType all filter properties are applicable, 'blobTypes' is required and others are optional. For 'Container' definition.objectType only prefixMatch is applicable and is optional." + }, + "BlobInventoryCreationTime": { + "type": "object", + "properties": { + "lastNDays": { + "type": "integer", + "minimum": 1, + "maximum": 36500, + "format": "int32", + "description": "When set the policy filters the objects that are created in the last N days. Where N is an integer value between 1 to 36500." + } + }, + "description": "This property defines the creation time based filtering condition. Blob Inventory schema parameter 'Creation-Time' is mandatory with this filter." + }, + "StorageAccountMigration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Migration Resource Id" + }, + "name": { + "type": "string", + "description": "current value is 'default' for customer initiated migration" + }, + "type": { + "type": "string", + "description": "SrpAccountMigrationType in ARM contract which is 'accountMigrations'" + }, + "properties": { + "type": "object", + "properties": { + "targetSkuName": { + "$ref": "./common.json#/definitions/SkuName", + "description": "Target sku name for the account" + }, + "migrationStatus": { + "type": "string", + "description": "Current status of migration", + "enum": [ + "Invalid", + "SubmittedForConversion", + "InProgress", + "Complete", + "Failed" + ], + "x-ms-enum": { + "name": "migrationStatus", + "modelAsString": true + }, + "readOnly": true + }, + "migrationFailedReason": { + "readOnly": true, + "type": "string", + "description": "Error code for migration failure" + }, + "migrationFailedDetailedReason": { + "readOnly": true, + "type": "string", + "description": "Reason for migration failure" + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "StorageAccountMigrationDetails", + "description": "The properties of a storage account’s ongoing or enqueued migration.", + "required": [ + "targetSkuName" + ] + } + }, + "required": [ + "properties" + ], + "description": "The parameters or status associated with an ongoing or enqueued storage account migration in order to update its current SKU or region." + }, + "ErrorResponseBody": { + "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": "Error response body contract." + }, + "ErrorResponse": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure Storage Resource Provider error response body." + } + }, + "description": "An error response from the storage resource provider." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "StorageAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z0-9]+$", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DeletedAccountName": { + "name": "deletedAccountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the deleted storage account.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ManagementPolicyName": { + "name": "managementPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Storage Account Management Policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagementPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "MigrationName": { + "name": "migrationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Storage Account Migration. It should always be 'default'", + "pattern": "^[a-z][a-z0-9]*$", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "MigrationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "EncryptionScopeName": { + "name": "encryptionScopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ObjectReplicationPolicyId": { + "name": "objectReplicationPolicyId", + "in": "path", + "required": true, + "type": "string", + "description": "For the destination account, provide the value 'default'. Configure the policy on the destination account first. For the source account, provide the value of the policy ID that is returned when you download the policy that was defined on the destination account. The policy is downloaded as a JSON file.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "Username": { + "name": "username", + "in": "path", + "required": true, + "type": "string", + "description": "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "BlobInventoryPolicyName": { + "name": "blobInventoryPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account blob inventory policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobInventoryPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json new file mode 100644 index 000000000000..a93f68caf8f4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json @@ -0,0 +1,570 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-01-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices": { + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_List", + "x-ms-examples": { + "TableServicesList": { + "$ref": "./examples/TableServicesList.json" + } + }, + "description": "List all table services for the storage account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/ListTableServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}": { + "put": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_SetServiceProperties", + "x-ms-examples": { + "TableServicesPut": { + "$ref": "./examples/TableServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "The properties of a storage account’s Table service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Table service successfully.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_GetServiceProperties", + "x-ms-examples": { + "TableServicesGet": { + "$ref": "./examples/TableServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}": { + "put": { + "tags": [ + "TableService" + ], + "operationId": "Table_Create", + "x-ms-examples": { + "TableOperationPut": { + "$ref": "./examples/TableOperationPut.json" + }, + "TableOperationPutOrPatchAcls": { + "$ref": "./examples/TableOperationPutOrPatchAcls.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters to provide to create a table." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "TableService" + ], + "operationId": "Table_Update", + "x-ms-examples": { + "TableOperationPatch": { + "$ref": "./examples/TableOperationPatch.json" + }, + "TableOperationPutOrPatchAcls": { + "$ref": "./examples/TableOperationPutOrPatchAcls.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters to provide to create a table." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_Get", + "x-ms-examples": { + "TableOperationGet": { + "$ref": "./examples/TableOperationGet.json" + } + }, + "description": "Gets the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "TableService" + ], + "operationId": "Table_Delete", + "x-ms-examples": { + "TableOperationDelete": { + "$ref": "./examples/TableOperationDelete.json" + } + }, + "description": "Deletes the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the table with the specified table name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables": { + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_List", + "x-ms-examples": { + "TableOperationList": { + "$ref": "./examples/TableOperationList.json" + } + }, + "description": "Gets a list of all the tables under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of tables successfully.", + "schema": { + "$ref": "#/definitions/ListTableResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListTableServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "List of table services returned.", + "readOnly": true + } + } + }, + "TableServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Table service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "TableServiceProperties", + "description": "The properties of a storage account’s Table service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Table service." + }, + "Table": { + "properties": { + "properties": { + "$ref": "#/definitions/TableProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "TableProperties", + "description": "Table resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Properties of the table, including Id, resource name, resource type." + }, + "TableProperties": { + "properties": { + "tableName": { + "type": "string", + "readOnly": true, + "description": "Table name under the specified account" + }, + "signedIdentifiers": { + "type": "array", + "items": { + "$ref": "#/definitions/TableSignedIdentifier" + }, + "description": "List of stored access policies specified on the table." + } + } + }, + "ListTableResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Table" + }, + "description": "List of tables returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of tables", + "readOnly": true + } + }, + "description": "Response schema. Contains list of tables returned" + }, + "TableSignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "unique-64-character-value of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/TableAccessPolicy", + "description": "Access policy" + } + }, + "required": [ + "id" + ], + "type": "object", + "description": "Object to set Table Access Policy." + }, + "TableAccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "Required. List of abbreviated permissions. Supported permission values include 'r','a','u','d'" + } + }, + "required": [ + "permission" + ], + "type": "object", + "description": "Table Access Policy Properties Object." + } + }, + "parameters": { + "TableServiceName": { + "name": "tableServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Table Service within the specified storage account. Table Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "TableServiceName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "TableName": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "description": "A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin with a numeric character.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z][A-Za-z0-9]{2,62}$", + "x-ms-parameter-location": "method" + } + }, + "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" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/readme.csharp.md b/specification/storage/resource-manager/readme.csharp.md index 74eb5835e29b..bd32d27afd6e 100644 --- a/specification/storage/resource-manager/readme.csharp.md +++ b/specification/storage/resource-manager/readme.csharp.md @@ -146,4 +146,15 @@ namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Storage output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.Management.Storage/src/Generated batch: - tag: profile-hybrid-2022-09-01 +``` + +### Profile: hybrid_2023_01_01 + +These settings apply only when `--csharp-profile=hybrid_2023_01_01` is specified on the command line. + +```yaml $(csharp-profile)=='hybrid_2023_01_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Storage +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.Management.Storage/src/Generated +batch: + - tag: profile-hybrid-2023-01-01 ``` \ No newline at end of file diff --git a/specification/storage/resource-manager/readme.go.md b/specification/storage/resource-manager/readme.go.md index a73cd52c89f6..4b49cc4fba14 100644 --- a/specification/storage/resource-manager/readme.go.md +++ b/specification/storage/resource-manager/readme.go.md @@ -30,6 +30,7 @@ directive: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2023-01 - tag: package-2022-09 - tag: package-2022-05 - tag: package-2021-09 @@ -54,6 +55,15 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2023-01 and go + +These settings apply only when `--tag=package-2023-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2023-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2023-01-01/$(namespace) +``` + ### Tag: package-2022-09 and go These settings apply only when `--tag=package-2022-09 --go` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.java.md b/specification/storage/resource-manager/readme.java.md index afd6f0587d41..4db28517f80e 100644 --- a/specification/storage/resource-manager/readme.java.md +++ b/specification/storage/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storage ``` yaml $(java) && $(multiapi) batch: + - tag: package-2023-01 - tag: package-2022-09 - tag: package-2022-05 - tag: package-2021-09 @@ -32,6 +33,19 @@ batch: - tag: package-2016-01 ``` +### Tag: package-2023-01 and java + +These settings apply only when `--tag=package-2023-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2023-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.storage.v2023_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/storage/mgmt-v2023_01_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2022-09 and java These settings apply only when `--tag=package-2022-09 --java` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index 0193f40cd66e..1304d6ccd87d 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -26,8 +26,61 @@ These are the global settings for the Storage API. ``` yaml openapi-type: arm -tag: package-2022-09 +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.Storage/stable/2023-01-01/storage.json +- Microsoft.Storage/stable/2023-01-01/blob.json +- Microsoft.Storage/stable/2023-01-01/file.json +- Microsoft.Storage/stable/2023-01-01/queue.json +- Microsoft.Storage/stable/2023-01-01/table.json + +directive: + - suppress: R3018 + reason: Existing boolean properties + approved-by: "@fearthecowboy" + + - where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"].post.operationId + suppress: R1003 + reason: APIs return array of values, is not actually a 'list' operation + approved-by: "@fearthecowboy" + + - where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].patch + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].patch + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].get + - $.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].put + suppress: R4009 +``` + ### Tag: package-2022-09 These settings apply only when `--tag=package-2022-09` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.python.md b/specification/storage/resource-manager/readme.python.md index 8780788b619e..ca567c764cae 100644 --- a/specification/storage/resource-manager/readme.python.md +++ b/specification/storage/resource-manager/readme.python.md @@ -18,9 +18,10 @@ Generate all API versions currently shipped for this package ```yaml $(python) multiapi: true -default-api-version: "2022-09-01" +default-api-version: "2023-01-01" clear-output-folder: true batch: + - tag: package-2023-01 - tag: package-2022-09 - tag: package-2022-05 - tag: package-2021-09 @@ -48,6 +49,16 @@ batch: output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/ perform-load: false ``` +### Tag: package-2023-01 and python + +These settings apply only when `--tag=package-2023-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-01' +namespace: azure.mgmt.storage.v2023_01_01 +output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/v2023_01_01 +``` + ### Tag: package-2022-09 and python These settings apply only when `--tag=package-2022-09 --python` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.ruby.md b/specification/storage/resource-manager/readme.ruby.md index 7879d9b438d3..58b45d3c7a28 100644 --- a/specification/storage/resource-manager/readme.ruby.md +++ b/specification/storage/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2023-01 - tag: package-2022-09 - tag: package-2022-05 - tag: package-2021-09 @@ -27,6 +28,16 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2023-01 and ruby + +These settings apply only when `--tag=package-2023-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-01' && $(ruby) +namespace: "Azure::Storage::Mgmt::V2023-01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_storage/lib +``` + ### Tag: package-2022-09 and ruby These settings apply only when `--tag=package-2022-09 --ruby` is specified on the command line. diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_CreateOrUpdate.json new file mode 100644 index 000000000000..fe93886dae2a --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_CreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "agentName": "examples-agentName", + "agent": { + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName", + "description": "Example Agent Description", + "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName", + "name": "examples-agentName", + "type": "Microsoft.StorageMover/storageMovers/agents", + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName", + "description": "Example Agent Description", + "agentVersion": "1.0.0", + "agentStatus": "Registering", + "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9", + "lastStatusUpdate": null, + "localIPAddress": null, + "memoryInMB": null, + "numberOfCores": null, + "uptimeInSeconds": null, + "errorDetails": null + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Delete.json new file mode 100644 index 000000000000..62865e611500 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "agentName": "examples-agentName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0" + } + }, + "204": {} + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Get.json new file mode 100644 index 000000000000..917e243a26d2 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "agentName": "examples-agentName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName", + "name": "examples-agentName", + "type": "Microsoft.StorageMover/storageMovers/agents", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName", + "description": "Example Agent Description", + "agentVersion": "1.0.0", + "agentStatus": "Online", + "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9", + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "localIPAddress": "192.168.0.0", + "memoryInMB": 100024, + "numberOfCores": 32, + "uptimeInSeconds": 522, + "errorDetails": null + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_List.json new file mode 100644 index 000000000000..f1912ca2f813 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_List.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName1", + "name": "examples-agentName1", + "type": "Microsoft.StorageMover/storageMovers/agents", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName1", + "description": "Example Agent 1 Description", + "agentVersion": "1.0.0", + "agentStatus": "Online", + "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9", + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "localIPAddress": "192.168.0.0", + "memoryInMB": 100024, + "numberOfCores": 32, + "uptimeInSeconds": 522, + "errorDetails": null + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName2", + "name": "examples-agentName2", + "type": "Microsoft.StorageMover/storageMovers/agents", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName2", + "description": "Example Agent 2 Description", + "agentVersion": "1.0.0", + "agentStatus": "Online", + "arcVmUuid": "147a1f84-7bbf-4e99-9a6a-a1735a91dfd5", + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "localIPAddress": "192.168.0.0", + "memoryInMB": 100024, + "numberOfCores": 32, + "uptimeInSeconds": 522, + "errorDetails": null + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName3", + "name": "examples-agentName3", + "type": "Microsoft.StorageMover/storageMovers/agents", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName3", + "description": "Example Agent 3 Description", + "agentVersion": "1.0.0", + "agentStatus": "Online", + "arcVmUuid": "648a7958-f99e-4268-b20e-94c96558dc0d", + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "localIPAddress": "192.168.0.0", + "memoryInMB": 100024, + "numberOfCores": 32, + "uptimeInSeconds": 522, + "errorDetails": { + "code": "SampleErrorCode", + "message": "Detailed sample error message." + } + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Update.json new file mode 100644 index 000000000000..f8d527dfb83e --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Agents_Update.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "agentName": "examples-agentName", + "agent": { + "properties": { + "description": "Updated Agent Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName", + "name": "examples-agentName", + "type": "Microsoft.StorageMover/storageMovers/agents", + "properties": { + "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName", + "description": "Updated Agent Description", + "agentVersion": "1.0.0", + "agentStatus": "Online", + "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9", + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "localIPAddress": "192.168.0.0", + "memoryInMB": 100024, + "numberOfCores": 32, + "uptimeInSeconds": 522, + "errorDetails": null + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json new file mode 100644 index 000000000000..4c2d34370222 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json @@ -0,0 +1,35 @@ +{ + "title": "Endpoints_CreateOrUpdate_AzureStorageBlobContainer", + "operationId": "Endpoints_CreateOrUpdate", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer", + "description": "Example Storage Blob Container Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer", + "description": "Example Storage Blob Container Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json new file mode 100644 index 000000000000..079b218f5cd7 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json @@ -0,0 +1,35 @@ +{ + "title": "Endpoints_CreateOrUpdate_AzureStorageSmbFileShare", + "operationId": "Endpoints_CreateOrUpdate", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "AzureStorageSmbFileShare", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "fileShareName": "examples-fileshare", + "description": "Example Storage File Share Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageSmbFileShare", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "fileShareName": "examples-fileshare", + "description": "Example Storage File Share Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_NfsMount.json new file mode 100644 index 000000000000..2f74a442ac88 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_NfsMount.json @@ -0,0 +1,36 @@ +{ + "title": "Endpoints_CreateOrUpdate_NfsMount", + "operationId": "Endpoints_CreateOrUpdate", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "NfsMount", + "host": "0.0.0.0", + "export": "examples-exportName", + "description": "Example NFS Mount Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "NfsMount", + "host": "0.0.0.0", + "export": "examples-exportName", + "nfsVersion": "NFSauto", + "description": "Example NFS Mount Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_SmbMount.json new file mode 100644 index 000000000000..3ba99281905a --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_CreateOrUpdate_SmbMount.json @@ -0,0 +1,45 @@ +{ + "title": "Endpoints_CreateOrUpdate_SmbMount", + "operationId": "Endpoints_CreateOrUpdate", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "SmbMount", + "host": "0.0.0.0", + "shareName": "examples-shareName", + "credentials": { + "type": "AzureKeyVaultSmb", + "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username", + "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password" + }, + "description": "Example SMB Mount Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "SmbMount", + "host": "0.0.0.0", + "shareName": "examples-shareName", + "credentials": { + "type": "AzureKeyVaultSmb", + "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username", + "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password" + }, + "description": "Example SMB Mount Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Delete.json new file mode 100644 index 000000000000..a01552961a0b --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0" + } + }, + "204": {} + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageBlobContainer.json new file mode 100644 index 000000000000..6a7cdce48a10 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageBlobContainer.json @@ -0,0 +1,27 @@ +{ + "title": "Endpoints_Get_AzureStorageBlobContainer", + "operationId": "Endpoints_Get", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer", + "description": "Example Storage Blob Container Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageSmbFileShare.json new file mode 100644 index 000000000000..5d358eb4461e --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_AzureStorageSmbFileShare.json @@ -0,0 +1,27 @@ +{ + "title": "Endpoints_Get_AzureStorageSmbFileShare", + "operationId": "Endpoints_Get", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageSmbFileShare", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "fileShareName": "examples-fileshare", + "description": "Example Storage File Share Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_NfsMount.json new file mode 100644 index 000000000000..4e093f760edb --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_NfsMount.json @@ -0,0 +1,28 @@ +{ + "title": "Endpoints_Get_NfsMount", + "operationId": "Endpoints_Get", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "NfsMount", + "host": "0.0.0.0", + "export": "examples-exportName", + "nfsVersion": "NFSauto", + "description": "Example NFS Mount Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_SmbMount.json new file mode 100644 index 000000000000..2a269e7f8c49 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Get_SmbMount.json @@ -0,0 +1,32 @@ +{ + "title": "Endpoints_Get_SmbMount", + "operationId": "Endpoints_Get", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "SmbMount", + "host": "0.0.0.0", + "shareName": "examples-shareName", + "credentials": { + "type": "AzureKeyVaultSmb", + "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username", + "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password" + }, + "description": "Example SMB Mount Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_List.json new file mode 100644 index 000000000000..c3b63af94cc9 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_List.json @@ -0,0 +1,56 @@ +{ + "title": "Endpoints_List", + "operationId": "Endpoints_List", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName1", + "name": "examples-endpointName1", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer1", + "description": "Example Storage Container Endpoint 1 Description", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName2", + "name": "examples-endpointName2", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "NfsMount", + "host": "0.0.0.0", + "nfsVersion": "NFSv4", + "description": "Example Storage Container Endpoint 2 Description", + "export": "/", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName3", + "name": "examples-endpointName3", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer3", + "description": "Example Storage Container Endpoint 3 Description", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageBlobContainer.json new file mode 100644 index 000000000000..30ec1db14421 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageBlobContainer.json @@ -0,0 +1,33 @@ +{ + "title": "Endpoints_Update_AzureStorageBlobContainer", + "operationId": "Endpoints_Update", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "AzureStorageBlobContainer", + "description": "Updated Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageBlobContainer", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "blobContainerName": "examples-blobcontainer", + "description": "Updated Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageSmbFileShare.json new file mode 100644 index 000000000000..ec300292d1fc --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_AzureStorageSmbFileShare.json @@ -0,0 +1,33 @@ +{ + "title": "Endpoints_Update_AzureStorageSmbFileShare", + "operationId": "Endpoints_Update", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "AzureStorageSmbFileShare", + "description": "Updated Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "AzureStorageSmbFileShare", + "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa", + "fileShareName": "examples-fileshare", + "description": "Updated Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_NfsMount.json new file mode 100644 index 000000000000..0148f0b539f2 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_NfsMount.json @@ -0,0 +1,34 @@ +{ + "title": "Endpoints_Update_NfsMount", + "operationId": "Endpoints_Update", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "NfsMount", + "description": "Updated Endpoint Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "NfsMount", + "host": "0.0.0.0", + "export": "examples-exportName", + "nfsVersion": "NFSauto", + "description": "Updated Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_SmbMount.json new file mode 100644 index 000000000000..cc6baaab8066 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Endpoints_Update_SmbMount.json @@ -0,0 +1,43 @@ +{ + "title": "Endpoints_Update_SmbMount", + "operationId": "Endpoints_Update", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "endpointName": "examples-endpointName", + "endpoint": { + "properties": { + "endpointType": "SmbMount", + "description": "Updated Endpoint Description", + "credentials": { + "type": "AzureKeyVaultSmb", + "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-username", + "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-password" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName", + "name": "examples-endpointName", + "type": "Microsoft.StorageMover/storageMovers/endpoints", + "properties": { + "endpointType": "SmbMount", + "host": "0.0.0.0", + "shareName": "examples-shareName", + "credentials": { + "type": "AzureKeyVaultSmb", + "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-username", + "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-password" + }, + "description": "Updated Endpoint Description", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_CreateOrUpdate.json new file mode 100644 index 000000000000..e64e4022c9ef --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_CreateOrUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName", + "jobDefinition": { + "properties": { + "description": "Example Job Definition Description", + "copyMode": "Additive", + "sourceName": "examples-sourceEndpointName", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName", + "targetSubpath": "/", + "agentName": "migration-agent" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName", + "name": "examples-jobDefinitionName", + "type": "Microsoft.StorageMover/storageMovers/projectName/jobDefinitionName", + "properties": { + "description": "Example Job Definition Description", + "copyMode": "Additive", + "sourceName": "examples-sourceEndpointName", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Delete.json new file mode 100644 index 000000000000..aee99f322c7a --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0" + } + }, + "204": {} + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Get.json new file mode 100644 index 000000000000..9282bbc25db7 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName", + "name": "examples-jobDefinitionName", + "type": "Microsoft.StorageMover/storageMovers/jobDefinitions", + "properties": { + "description": "Example Job Definition Description", + "copyMode": "Additive", + "sourceName": "examples-sourceEndpointName", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_List.json new file mode 100644 index 000000000000..c1997c180567 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_List.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName1", + "name": "examples-jobDefinitionName1", + "type": "Microsoft.StorageMover/storageMovers/jobDefinitions", + "properties": { + "description": "Example Job Definition 1 Description", + "copyMode": "Additive", + "sourceName": "examples-sourceEndpointName1", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName1", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName1", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName1", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName2", + "name": "examples-jobDefinitionName2", + "type": "Microsoft.StorageMover/storageMovers/jobDefinitions", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Job Definition 2 Description", + "copyMode": "Additive", + "sourceName": "examples-sourceEndpointName2", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName2", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName2", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName2", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName3", + "name": "examples-jobDefinitionName3", + "type": "Microsoft.StorageMover/storageMovers/jobDefinitions", + "properties": { + "description": "Example Job Definition 3 Description", + "copyMode": "Mirror", + "sourceName": "examples-sourceEndpointName3", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName3", + "sourceSubpath": "/", + "targetName": "examples-targetEndpointName3", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName3", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/jobDefinitions?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StartJob.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StartJob.json new file mode 100644 index 000000000000..1917dae50efa --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StartJob.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName" + }, + "responses": { + "200": { + "body": { + "jobRunResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StopJob.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StopJob.json new file mode 100644 index 000000000000..1917dae50efa --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_StopJob.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName" + }, + "responses": { + "200": { + "body": { + "jobRunResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Update.json new file mode 100644 index 000000000000..e897dd563cec --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobDefinitions_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName", + "jobDefinition": { + "properties": { + "description": "Updated Job Definition Description", + "agentName": "updatedAgentName" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName", + "name": "examples-jobDefinitionName", + "type": "Microsoft.StorageMover/storageMovers/projectName/jobDefinitionName", + "properties": { + "description": "Updated Job Definition Description", + "copyMode": "Additive", + "sourceName": "updatedSource", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/updatedSource", + "sourceSubpath": "/", + "targetName": "updatedTarget", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/updatedTarget", + "targetSubpath": "/", + "latestJobRunName": null, + "latestJobRunResourceId": null, + "latestJobRunStatus": null, + "agentName": "updatedAgentName", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_Get.json new file mode 100644 index 000000000000..6b2a5572ef8d --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName", + "jobRunName": "examples-jobRunName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName", + "name": "examples-jobRunName", + "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns", + "properties": { + "status": "Running", + "scanStatus": "Scanning", + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent", + "executionStartTime": "2023-07-01T02:11:01.1075056Z", + "executionEndTime": null, + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "sourceName": "sourceEndpoint", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint", + "sourceProperties": {}, + "targetName": "targetEndpoint", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint", + "targetProperties": {}, + "jobDefinitionProperties": {}, + "itemsScanned": 351, + "itemsExcluded": 50, + "itemsUnsupported": 27, + "itemsNoTransferNeeded": 150, + "itemsFailed": 3, + "itemsTransferred": 100, + "bytesScanned": 49951162777600, + "bytesExcluded": 995116277760, + "bytesUnsupported": 495116277760, + "bytesNoTransferNeeded": 2995116277760, + "bytesFailed": 5116277760, + "bytesTransferred": 1995116277760 + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_List.json new file mode 100644 index 000000000000..37ee2990c3a2 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/JobRuns_List.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "jobDefinitionName": "examples-jobDefinitionName", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName1", + "name": "examples-jobRunName1", + "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns", + "properties": { + "status": "Running", + "scanStatus": "Scanning", + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent", + "executionStartTime": "2023-07-01T02:11:01.1075056Z", + "executionEndTime": null, + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "sourceName": "sourceEndpoint", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint", + "sourceProperties": {}, + "targetName": "targetEndpoint", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint", + "targetProperties": {}, + "jobDefinitionProperties": {}, + "itemsScanned": 351, + "itemsExcluded": 50, + "itemsUnsupported": 27, + "itemsNoTransferNeeded": 150, + "itemsFailed": 3, + "itemsTransferred": 100, + "bytesScanned": 49951162777600, + "bytesExcluded": 995116277760, + "bytesUnsupported": 495116277760, + "bytesNoTransferNeeded": 2995116277760, + "bytesFailed": 5116277760, + "bytesTransferred": 1995116277760 + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName2", + "name": "examples-jobRunName2", + "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns", + "properties": { + "status": "Failed", + "scanStatus": "Scanning", + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent", + "executionStartTime": "2023-07-01T02:11:01.1075056Z", + "executionEndTime": null, + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "sourceName": "sourceEndpoint", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint", + "sourceProperties": {}, + "targetName": "targetEndpoint", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint", + "targetProperties": {}, + "jobDefinitionProperties": {}, + "itemsScanned": 351, + "itemsExcluded": 50, + "itemsUnsupported": 27, + "itemsNoTransferNeeded": 150, + "itemsFailed": 3, + "itemsTransferred": 100, + "bytesScanned": 49951162777600, + "bytesExcluded": 995116277760, + "bytesUnsupported": 495116277760, + "bytesNoTransferNeeded": 2995116277760, + "bytesFailed": 5116277760, + "bytesTransferred": 1995116277760 + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName3", + "name": "examples-jobRunName3", + "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns", + "properties": { + "status": "Failed", + "scanStatus": "Scanning", + "agentName": "migration-agent", + "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent", + "executionStartTime": "2023-07-01T02:11:01.1075056Z", + "executionEndTime": null, + "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z", + "sourceName": "sourceEndpoint", + "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint", + "sourceProperties": {}, + "targetName": "targetEndpoint", + "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint", + "targetProperties": {}, + "jobDefinitionProperties": {}, + "itemsScanned": 351, + "itemsExcluded": 50, + "itemsUnsupported": 27, + "itemsNoTransferNeeded": 150, + "itemsFailed": 3, + "itemsTransferred": 100, + "bytesScanned": 49951162777600, + "bytesExcluded": 995116277760, + "bytesUnsupported": 495116277760, + "bytesNoTransferNeeded": 2995116277760, + "bytesFailed": 5116277760, + "bytesTransferred": 1995116277760 + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Operations_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..16a8713ee8b5 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Operations_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StorageMover/storageMovers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageMover", + "resource": "StorageMovers", + "operation": "Get or List StorageMover resource(s).", + "description": "Gets or Lists existing StorageMover resource(s)." + } + }, + { + "name": "Microsoft.StorageMover/storageMovers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageMover", + "resource": "StorageMovers", + "operation": "Create or Update StorageMover resource.", + "description": "Creates or Updates StorageMover resource." + } + }, + { + "name": "Microsoft.StorageMover/storageMovers/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageMover", + "resource": "StorageMovers", + "operation": "Delete StorageMover resource.", + "description": "Deletes StorageMover resource." + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/operations?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_CreateOrUpdate.json new file mode 100644 index 000000000000..56d0271b735e --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_CreateOrUpdate.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "project": { + "properties": { + "description": "Example Project Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName", + "name": "examples-projectName", + "type": "Microsoft.StorageMover/storageMovers/projects", + "properties": { + "description": "Example Project Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Delete.json new file mode 100644 index 000000000000..6e1d0a05f5f1 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0" + } + }, + "204": {} + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Get.json new file mode 100644 index 000000000000..644ec0c21ffc --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName", + "name": "examples-projectName", + "type": "Microsoft.StorageMover/storageMovers/projects", + "properties": { + "description": "Example Project Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_List.json new file mode 100644 index 000000000000..05643487b7bd --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName1", + "name": "examples-projectName1", + "type": "Microsoft.StorageMover/storageMovers/projects", + "properties": { + "description": "Example Project 1 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName2", + "name": "examples-projectName2", + "type": "Microsoft.StorageMover/storageMovers/projects", + "properties": { + "description": "Example Project 2 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName2", + "name": "examples-projectName3", + "type": "Microsoft.StorageMover/storageMovers/projects", + "properties": { + "description": "Example Project 3 Description" + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/projects?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Update.json new file mode 100644 index 000000000000..e3a830236c9c --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/Projects_Update.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "projectName": "examples-projectName", + "project": { + "properties": { + "description": "Example Project Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-projectName", + "name": "examples-projectName", + "type": "Microsoft.StorageMover/storageMovers/projectName", + "properties": { + "description": "Example Project Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_CreateOrUpdate.json new file mode 100644 index 000000000000..c50d7814c9f1 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_CreateOrUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "storageMover": { + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "description": "Example Storage Mover Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName", + "name": "examples-storageMoverName", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Delete.json new file mode 100644 index 000000000000..25408b0dbbbe --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0", + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0" + } + }, + "204": {} + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Get.json new file mode 100644 index 000000000000..81d35ef8dfbf --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName", + "name": "examples-storageMoverName", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_List.json new file mode 100644 index 000000000000..bc5163dc58cf --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_List.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName1", + "name": "examples-storageMoverResourceName1", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 1 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName2", + "name": "examples-storageMoverResourceName2", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 2 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName3", + "name": "examples-storageMoverResourceName3", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 3 Description" + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_ListBySubscription.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_ListBySubscription.json new file mode 100644 index 000000000000..09f47736af2d --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_ListBySubscription.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "api-version": "2023-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName1", + "name": "examples-storageMoverResourceName1", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 1 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg2/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName2", + "name": "examples-storageMoverResourceName2", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 2 Description" + } + }, + { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName3", + "name": "examples-storageMoverResourceName3", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Example Storage Mover 3 Description" + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}" + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Update.json new file mode 100644 index 000000000000..e00ad8185016 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/examples/StorageMovers_Update.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95", + "resourceGroupName": "examples-rg", + "storageMoverName": "examples-storageMoverName", + "storageMover": { + "properties": { + "description": "Updated Storage Mover Description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName", + "name": "examples-storageMoverName", + "type": "Microsoft.StorageMover/storageMovers", + "location": "eastus2", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2023-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-01T02:01:01.1075056Z" + }, + "properties": { + "description": "Updated Storage Mover Description" + } + } + } + } +} diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/storagemover.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/storagemover.json new file mode 100644 index 000000000000..6a5329c15119 --- /dev/null +++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/preview/2023-07-01-preview/storagemover.json @@ -0,0 +1,2762 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-07-01-preview", + "title": "StorageMoverClient", + "description": "The Azure Storage Mover REST API." + }, + "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.StorageMover/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all the supported operations for the Azure Storage Mover REST API.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of supported operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageMover/storageMovers": { + "get": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_ListBySubscription", + "description": "Lists all Storage Movers in a subscription.", + "x-ms-examples": { + "StorageMovers_List": { + "$ref": "./examples/StorageMovers_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Storage Movers.", + "schema": { + "$ref": "#/definitions/StorageMoverList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers": { + "get": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_List", + "description": "Lists all Storage Movers in a resource group.", + "x-ms-examples": { + "StorageMovers_List": { + "$ref": "./examples/StorageMovers_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Storage Movers.", + "schema": { + "$ref": "#/definitions/StorageMoverList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}": { + "get": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_Get", + "description": "Gets a Storage Mover resource.", + "x-ms-examples": { + "StorageMovers_Get": { + "$ref": "./examples/StorageMovers_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Storage Mover resource.", + "schema": { + "$ref": "#/definitions/StorageMover" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_CreateOrUpdate", + "description": "Creates or updates a top-level Storage Mover resource.", + "x-ms-examples": { + "StorageMovers_CreateOrUpdate": { + "$ref": "./examples/StorageMovers_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageMover", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageMover" + } + } + ], + "responses": { + "200": { + "description": "Successfully PUT Storage Mover resource.", + "schema": { + "$ref": "#/definitions/StorageMover" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_Update", + "description": "Updates properties for a Storage Mover resource. Properties not specified in the request body will be unchanged.", + "x-ms-examples": { + "StorageMovers_Update": { + "$ref": "./examples/StorageMovers_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "storageMover", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageMoverUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Storage Mover resource.", + "schema": { + "$ref": "#/definitions/StorageMover" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "StorageMovers" + ], + "operationId": "StorageMovers_Delete", + "description": "Deletes a Storage Mover resource.", + "x-ms-examples": { + "StorageMovers_Delete": { + "$ref": "./examples/StorageMovers_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Storage Mover." + }, + "202": { + "description": "Accepted. Storage Mover delete operation is ongoing." + }, + "204": { + "description": "NoContent -- Storage Mover does not exist in the subscription." + }, + "default": { + "description": "Error response describing why delete operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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.StorageMover/storageMovers/{storageMoverName}/agents": { + "get": { + "tags": [ + "Agents" + ], + "operationId": "Agents_List", + "description": "Lists all Agents in a Storage Mover.", + "x-ms-examples": { + "Agents_List": { + "$ref": "./examples/Agents_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Agents.", + "schema": { + "$ref": "#/definitions/AgentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}": { + "get": { + "tags": [ + "Agents" + ], + "operationId": "Agents_Get", + "description": "Gets an Agent resource.", + "x-ms-examples": { + "Agents_Get": { + "$ref": "./examples/Agents_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/AgentNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Agent resource.", + "schema": { + "$ref": "#/definitions/Agent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Agents" + ], + "operationId": "Agents_CreateOrUpdate", + "description": "Creates or updates an Agent resource, which references a hybrid compute machine that can run jobs.", + "x-ms-examples": { + "Agents_CreateOrUpdate": { + "$ref": "./examples/Agents_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/AgentNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "agent", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Agent" + } + } + ], + "responses": { + "200": { + "description": "Successfully PUT Agent resource.", + "schema": { + "$ref": "#/definitions/Agent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Agents" + ], + "operationId": "Agents_Update", + "description": "Creates or updates an Agent resource.", + "x-ms-examples": { + "Agents_Update": { + "$ref": "./examples/Agents_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/AgentNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "agent", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Agent resource.", + "schema": { + "$ref": "#/definitions/Agent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Agents" + ], + "operationId": "Agents_Delete", + "description": "Deletes an Agent resource.", + "x-ms-examples": { + "Agents_Delete": { + "$ref": "./examples/Agents_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/AgentNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Agent." + }, + "202": { + "description": "Accepted. Agent delete operation is ongoing." + }, + "204": { + "description": "NoContent -- Agent does not exist for this Storage Mover." + }, + "default": { + "description": "Error response describing why delete operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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.StorageMover/storageMovers/{storageMoverName}/endpoints": { + "get": { + "tags": [ + "Endpoints" + ], + "operationId": "Endpoints_List", + "description": "Lists all Endpoints in a Storage Mover.", + "x-ms-examples": { + "Endpoints_List": { + "$ref": "./examples/Endpoints_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Endpoints.", + "schema": { + "$ref": "#/definitions/EndpointList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}": { + "get": { + "tags": [ + "Endpoints" + ], + "operationId": "Endpoints_Get", + "description": "Gets an Endpoint resource.", + "x-ms-examples": { + "Endpoints_Get_AzureStorageBlobContainer": { + "$ref": "./examples/Endpoints_Get_AzureStorageBlobContainer.json" + }, + "Endpoints_Get_AzureStorageSmbFileShare": { + "$ref": "./examples/Endpoints_Get_AzureStorageSmbFileShare.json" + }, + "Endpoints_Get_NfsMount": { + "$ref": "./examples/Endpoints_Get_NfsMount.json" + }, + "Endpoints_Get_SmbMount": { + "$ref": "./examples/Endpoints_Get_SmbMount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Endpoint resource.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Endpoints" + ], + "operationId": "Endpoints_CreateOrUpdate", + "description": "Creates or updates an Endpoint resource, which represents a data transfer source or destination.", + "x-ms-examples": { + "Endpoints_CreateOrUpdate_AzureStorageBlobContainer": { + "$ref": "./examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json" + }, + "Endpoints_CreateOrUpdate_AzureStorageSmbFileShare": { + "$ref": "./examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json" + }, + "Endpoints_CreateOrUpdate_NfsMount": { + "$ref": "./examples/Endpoints_CreateOrUpdate_NfsMount.json" + }, + "Endpoints_CreateOrUpdate_SmbMount": { + "$ref": "./examples/Endpoints_CreateOrUpdate_SmbMount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "endpoint", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Endpoint" + } + } + ], + "responses": { + "200": { + "description": "Successfully PUT Endpoint resource.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Endpoints" + ], + "operationId": "Endpoints_Update", + "description": "Updates properties for an Endpoint resource. Properties not specified in the request body will be unchanged.", + "x-ms-examples": { + "Endpoints_Update_AzureStorageBlobContainer": { + "$ref": "./examples/Endpoints_Update_AzureStorageBlobContainer.json" + }, + "Endpoints_Update_AzureStorageSmbFileShare": { + "$ref": "./examples/Endpoints_Update_AzureStorageSmbFileShare.json" + }, + "Endpoints_Update_NfsMount": { + "$ref": "./examples/Endpoints_Update_NfsMount.json" + }, + "Endpoints_Update_SmbMount": { + "$ref": "./examples/Endpoints_Update_SmbMount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "endpoint", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointBaseUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Endpoint resource.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Endpoints" + ], + "operationId": "Endpoints_Delete", + "description": "Deletes an Endpoint resource.", + "x-ms-examples": { + "Endpoints_Delete": { + "$ref": "./examples/Endpoints_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/EndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Endpoint." + }, + "202": { + "description": "Accepted. Endpoint delete operation is ongoing." + }, + "204": { + "description": "NoContent -- Endpoint does not exist for this Storage Mover." + }, + "default": { + "description": "Error response describing why delete operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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.StorageMover/storageMovers/{storageMoverName}/projects": { + "get": { + "tags": [ + "Projects" + ], + "operationId": "Projects_List", + "description": "Lists all Projects in a Storage Mover.", + "x-ms-examples": { + "Projects_List": { + "$ref": "./examples/Projects_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Projects.", + "schema": { + "$ref": "#/definitions/ProjectList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}": { + "get": { + "tags": [ + "Projects" + ], + "operationId": "Projects_Get", + "description": "Gets a Project resource.", + "x-ms-examples": { + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Project resource.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Projects" + ], + "operationId": "Projects_CreateOrUpdate", + "description": "Creates or updates a Project resource, which is a logical grouping of related jobs.", + "x-ms-examples": { + "Projects_CreateOrUpdate": { + "$ref": "./examples/Projects_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "project", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "Successfully PUT Project resource.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Projects" + ], + "operationId": "Projects_Update", + "description": "Updates properties for a Project resource. Properties not specified in the request body will be unchanged.", + "x-ms-examples": { + "Projects_Update": { + "$ref": "./examples/Projects_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "project", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Project resource.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Projects" + ], + "operationId": "Projects_Delete", + "description": "Deletes a Project resource.", + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Project." + }, + "202": { + "description": "Accepted. Project delete operation is ongoing." + }, + "204": { + "description": "NoContent -- Project does not exist for this Storage Mover." + }, + "default": { + "description": "Error response describing why delete operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions": { + "get": { + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_List", + "description": "Lists all Job Definitions in a Project.", + "x-ms-examples": { + "JobDefinitions_List": { + "$ref": "./examples/JobDefinitions_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Job Definitions.", + "schema": { + "$ref": "#/definitions/JobDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}": { + "get": { + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_Get", + "description": "Gets a Job Definition resource.", + "x-ms-examples": { + "JobDefinitions_Get": { + "$ref": "./examples/JobDefinitions_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Job Definition resource.", + "schema": { + "$ref": "#/definitions/JobDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_CreateOrUpdate", + "description": "Creates or updates a Job Definition resource, which contains configuration for a single unit of managed data transfer.", + "x-ms-examples": { + "JobDefinitions_CreateOrUpdate": { + "$ref": "./examples/JobDefinitions_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "jobDefinition", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobDefinition" + } + } + ], + "responses": { + "200": { + "description": "Successfully PUT Job Definition resource.", + "schema": { + "$ref": "#/definitions/JobDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_Update", + "description": "Updates properties for a Job Definition resource. Properties not specified in the request body will be unchanged.", + "x-ms-examples": { + "JobDefinitions_Update": { + "$ref": "./examples/JobDefinitions_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "jobDefinition", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JobDefinitionUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Job Definition resource.", + "schema": { + "$ref": "#/definitions/JobDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_Delete", + "description": "Deletes a Job Definition resource.", + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/JobDefinitions_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Job Definition." + }, + "202": { + "description": "Accepted. Job Definition delete operation is ongoing." + }, + "204": { + "description": "NoContent -- Job Definition does not exist for this Project." + }, + "default": { + "description": "Error response describing why delete operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/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.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/startJob": { + "post": { + "consumes": [ + "application/json", + "application/x-www-form-urlencoded" + ], + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_StartJob", + "description": "Requests an Agent to start a new instance of this Job Definition, generating a new Job Run resource.", + "x-ms-examples": { + "JobDefinitions_StartJob": { + "$ref": "./examples/JobDefinitions_StartJob.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested job to start.", + "schema": { + "$ref": "#/definitions/JobRunResourceId" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/stopJob": { + "post": { + "consumes": [ + "application/json", + "application/x-www-form-urlencoded" + ], + "tags": [ + "JobDefinitions" + ], + "operationId": "JobDefinitions_StopJob", + "description": "Requests the Agent of any active instance of this Job Definition to stop.", + "x-ms-examples": { + "JobDefinitions_StopJob": { + "$ref": "./examples/JobDefinitions_StopJob.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully requested running job to stop, if any.", + "schema": { + "$ref": "#/definitions/JobRunResourceId" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns": { + "get": { + "tags": [ + "JobRuns" + ], + "operationId": "JobRuns_List", + "description": "Lists all Job Runs in a Job Definition.", + "x-ms-examples": { + "JobRuns_List": { + "$ref": "./examples/JobRuns_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of Job Runs.", + "schema": { + "$ref": "#/definitions/JobRunList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns/{jobRunName}": { + "get": { + "tags": [ + "JobRuns" + ], + "operationId": "JobRuns_Get", + "description": "Gets a Job Run resource.", + "x-ms-examples": { + "JobRuns_Get": { + "$ref": "./examples/JobRuns_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageMoverNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/JobDefinitionNameParameter" + }, + { + "$ref": "#/parameters/JobRunNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Job Run resource.", + "schema": { + "$ref": "#/definitions/JobRun" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AgentProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Agent." + }, + "agentVersion": { + "type": "string", + "description": "The Agent version.", + "readOnly": true + }, + "arcResourceId": { + "type": "string", + "description": "The fully qualified resource ID of the Hybrid Compute resource for the Agent.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "arcVmUuid": { + "type": "string", + "description": "The VM UUID of the Hybrid Compute resource for the Agent.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "agentStatus": { + "description": "The Agent status.", + "enum": [ + "Registering", + "Offline", + "Online", + "Executing", + "RequiresAttention", + "Unregistering" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentStatus", + "modelAsString": true + }, + "readOnly": true + }, + "lastStatusUpdate": { + "type": "string", + "format": "date-time", + "description": "The last updated time of the Agent status.", + "readOnly": true + }, + "localIPAddress": { + "type": "string", + "description": "Local IP address reported by the Agent.", + "readOnly": true + }, + "memoryInMB": { + "type": "integer", + "format": "int64", + "description": "Available memory reported by the Agent, in MB.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "format": "int64", + "description": "Available compute cores reported by the Agent.", + "readOnly": true + }, + "uptimeInSeconds": { + "type": "integer", + "format": "int64", + "description": "Uptime of the Agent in seconds.", + "readOnly": true + }, + "errorDetails": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Error code reported by Agent" + }, + "message": { + "type": "string", + "description": "Expanded description of reported error code" + } + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ + "arcResourceId", + "arcVmUuid" + ] + }, + "Agent": { + "description": "The Agent resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AgentProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "AgentUpdateProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Agent." + } + } + }, + "AgentUpdateParameters": { + "description": "The Agent resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AgentUpdateProperties" + } + } + }, + "AgentList": { + "description": "List of Agents.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Agent" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + }, + "StorageMoverProperties": { + "description": "The resource specific properties for the Storage Mover resource.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Storage Mover." + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + } + }, + "StorageMover": { + "description": "The Storage Mover resource, which is a container for a group of Agents, Projects, and Endpoints.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageMoverProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "StorageMoverUpdateProperties": { + "description": "The resource specific properties for the Storage Mover resource.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Storage Mover." + } + } + }, + "StorageMoverUpdateParameters": { + "description": "The Storage Mover resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageMoverUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + } + }, + "StorageMoverList": { + "description": "List of Storage Movers.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageMover" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + }, + "EndpointBaseProperties": { + "description": "The resource specific properties for the Storage Mover resource.", + "type": "object", + "discriminator": "endpointType", + "properties": { + "endpointType": { + "description": "The Endpoint resource type.", + "$ref": "#/definitions/EndpointType", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "description": { + "type": "string", + "description": "A description for the Endpoint." + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ + "endpointType" + ] + }, + "Endpoint": { + "description": "The Endpoint resource, which contains information about file sources and targets.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EndpointBaseProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "EndpointBaseUpdateProperties": { + "description": "The Endpoint resource, which contains information about file sources and targets.", + "type": "object", + "discriminator": "endpointType", + "properties": { + "endpointType": { + "description": "The Endpoint resource type.", + "$ref": "#/definitions/EndpointType", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "description": { + "type": "string", + "description": "A description for the Endpoint." + } + }, + "required": [ + "endpointType" + ] + }, + "EndpointBaseUpdateParameters": { + "description": "The Endpoint resource.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EndpointBaseUpdateProperties" + } + } + }, + "EndpointList": { + "description": "List of Endpoints.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Endpoint" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + }, + "AzureStorageBlobContainerEndpointProperties": { + "type": "object", + "description": "The properties of Azure Storage blob container endpoint.", + "x-ms-discriminator-value": "AzureStorageBlobContainer", + "properties": { + "storageAccountResourceId": { + "description": "The Azure Resource ID of the storage account that is the target destination.", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + }, + "blobContainerName": { + "description": "The name of the Storage blob container that is the target destination.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "storageAccountResourceId", + "blobContainerName" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseProperties" + } + ] + }, + "AzureStorageBlobContainerEndpointUpdateProperties": { + "type": "object", + "x-ms-discriminator-value": "AzureStorageBlobContainer", + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseUpdateProperties" + } + ] + }, + "NfsMountEndpointProperties": { + "type": "object", + "description": "The properties of NFS share endpoint.", + "x-ms-discriminator-value": "NfsMount", + "properties": { + "host": { + "description": "The host name or IP address of the server exporting the file system.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "nfsVersion": { + "description": "The NFS protocol version.", + "enum": [ + "NFSauto", + "NFSv3", + "NFSv4" + ], + "type": "string", + "x-ms-enum": { + "name": "NfsVersion", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "export": { + "description": "The directory being exported from the server.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "host", + "export" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseProperties" + } + ] + }, + "NfsMountEndpointUpdateProperties": { + "type": "object", + "x-ms-discriminator-value": "NfsMount", + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseUpdateProperties" + } + ] + }, + "AzureStorageSmbFileShareEndpointProperties": { + "type": "object", + "description": "The properties of Azure Storage SMB file share endpoint.", + "x-ms-discriminator-value": "AzureStorageSmbFileShare", + "properties": { + "storageAccountResourceId": { + "description": "The Azure Resource ID of the storage account.", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "fileShareName": { + "description": "The name of the Azure Storage file share.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "storageAccountResourceId", + "fileShareName" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseProperties" + } + ] + }, + "AzureStorageSmbFileShareEndpointUpdateProperties": { + "type": "object", + "x-ms-discriminator-value": "AzureStorageSmbFileShare", + "description": "The properties of Azure Storage SMB file share endpoint to update.", + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseUpdateProperties" + } + ] + }, + "SmbMountEndpointProperties": { + "type": "object", + "description": "The properties of SMB share endpoint.", + "x-ms-discriminator-value": "SmbMount", + "properties": { + "host": { + "description": "The host name or IP address of the server exporting the file system.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "shareName": { + "description": "The name of the SMB share being exported from the server.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "credentials": { + "description": "The Azure Key Vault secret URIs which store the required credentials to access the SMB share.", + "$ref": "#/definitions/AzureKeyVaultSmbCredentials" + } + }, + "required": [ + "host", + "shareName" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseProperties" + } + ] + }, + "SmbMountEndpointUpdateProperties": { + "type": "object", + "x-ms-discriminator-value": "SmbMount", + "description": "The properties of SMB share endpoint to update.", + "properties": { + "credentials": { + "description": "The Azure Key Vault secret URIs which store the required credentials to access the SMB share.", + "$ref": "#/definitions/AzureKeyVaultSmbCredentials" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EndpointBaseUpdateProperties" + } + ] + }, + "EndpointType": { + "description": "The Endpoint resource type.", + "enum": [ + "AzureStorageBlobContainer", + "NfsMount", + "AzureStorageSmbFileShare", + "SmbMount" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "CredentialType": { + "description": "The Credentials type.", + "enum": [ + "AzureKeyVaultSmb" + ], + "type": "string", + "x-ms-enum": { + "name": "CredentialType", + "modelAsString": true + } + }, + "Credentials": { + "description": "The Credentials.", + "type": "object", + "discriminator": "type", + "properties": { + "type": { + "description": "The Credentials type.", + "$ref": "#/definitions/CredentialType", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "type" + ] + }, + "AzureKeyVaultSmbCredentials": { + "description": "The Azure Key Vault secret URIs which store the credentials.", + "type": "object", + "x-ms-discriminator-value": "AzureKeyVaultSmb", + "properties": { + "usernameUri": { + "description": "The Azure Key Vault secret URI which stores the username. Use empty string to clean-up existing value.", + "type": "string" + }, + "passwordUri": { + "description": "The Azure Key Vault secret URI which stores the password. Use empty string to clean-up existing value.", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Credentials" + } + ] + }, + "JobDefinitionProperties": { + "description": "Job definition properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Job Definition." + }, + "copyMode": { + "type": "string", + "description": "Strategy to use for copy.", + "x-ms-enum": { + "name": "CopyMode", + "modelAsString": true + }, + "enum": [ + "Additive", + "Mirror" + ] + }, + "sourceName": { + "type": "string", + "description": "The name of the source Endpoint.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified resource ID of the source Endpoint.", + "readOnly": true + }, + "sourceSubpath": { + "type": "string", + "description": "The subpath to use when reading from the source Endpoint.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetName": { + "type": "string", + "description": "The name of the target Endpoint.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceId": { + "type": "string", + "description": "Fully qualified resource ID of the target Endpoint.", + "readOnly": true + }, + "targetSubpath": { + "type": "string", + "description": "The subpath to use when writing to the target Endpoint.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "latestJobRunName": { + "type": "string", + "description": "The name of the Job Run in a non-terminal state, if exists.", + "readOnly": true + }, + "latestJobRunResourceId": { + "type": "string", + "description": "The fully qualified resource ID of the Job Run in a non-terminal state, if exists.", + "readOnly": true + }, + "latestJobRunStatus": { + "enum": [ + "Queued", + "Started", + "Running", + "CancelRequested", + "Canceling", + "Canceled", + "Failed", + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "JobRunStatus", + "modelAsString": true + }, + "description": "The current status of the Job Run in a non-terminal state, if exists.", + "readOnly": true + }, + "agentName": { + "type": "string", + "description": "Name of the Agent to assign for new Job Runs of this Job Definition." + }, + "agentResourceId": { + "type": "string", + "description": "Fully qualified resource id of the Agent to assign for new Job Runs of this Job Definition.", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ + "copyMode", + "sourceName", + "targetName" + ] + }, + "JobDefinition": { + "description": "The Job Definition resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JobDefinitionProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "JobDefinitionUpdateProperties": { + "description": "Job definition properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Job Definition." + }, + "copyMode": { + "type": "string", + "description": "Strategy to use for copy.", + "x-ms-enum": { + "name": "CopyMode", + "modelAsString": true + }, + "enum": [ + "Additive", + "Mirror" + ] + }, + "agentName": { + "type": "string", + "description": "Name of the Agent to assign for new Job Runs of this Job Definition." + } + } + }, + "JobDefinitionUpdateParameters": { + "description": "The Job Definition resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JobDefinitionUpdateProperties" + } + } + }, + "JobDefinitionList": { + "description": "List of Job Definitions.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobDefinition" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + }, + "JobRunError": { + "type": "object", + "description": "Error type", + "properties": { + "code": { + "type": "string", + "description": "Error code of the given entry." + }, + "message": { + "type": "string", + "description": "Error message of the given entry." + }, + "target": { + "type": "string", + "description": "Target of the given error entry." + } + } + }, + "JobRunProperties": { + "description": "Job run properties.", + "type": "object", + "properties": { + "status": { + "readOnly": true, + "enum": [ + "Queued", + "Started", + "Running", + "CancelRequested", + "Canceling", + "Canceled", + "Failed", + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "JobRunStatus", + "modelAsString": true + }, + "description": "The state of the job execution." + }, + "scanStatus": { + "readOnly": true, + "enum": [ + "NotStarted", + "Scanning", + "Completed" + ], + "type": "string", + "x-ms-enum": { + "name": "JobRunScanStatus", + "modelAsString": true + }, + "description": "The status of Agent's scanning of source." + }, + "agentName": { + "readOnly": true, + "type": "string", + "description": "Name of the Agent assigned to this run." + }, + "agentResourceId": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource id of the Agent assigned to this run." + }, + "executionStartTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the run. Null if no Agent reported that the job has started." + }, + "executionEndTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "End time of the run. Null if Agent has not reported that the job has ended." + }, + "lastStatusUpdate": { + "type": "string", + "format": "date-time", + "description": "The last updated time of the Job Run.", + "readOnly": true + }, + "itemsScanned": { + "type": "integer", + "format": "int64", + "description": "Number of items scanned so far in source.", + "readOnly": true + }, + "itemsExcluded": { + "type": "integer", + "format": "int64", + "description": "Number of items that will not be transferred, as they are excluded by user configuration.", + "readOnly": true + }, + "itemsUnsupported": { + "type": "integer", + "format": "int64", + "description": "Number of items that will not be transferred, as they are unsupported on target.", + "readOnly": true + }, + "itemsNoTransferNeeded": { + "type": "integer", + "format": "int64", + "description": "Number of items that will not be transferred, as they are already found on target (e.g. mirror mode).", + "readOnly": true + }, + "itemsFailed": { + "type": "integer", + "format": "int64", + "description": "Number of items that were attempted to transfer and failed.", + "readOnly": true + }, + "itemsTransferred": { + "type": "integer", + "format": "int64", + "description": "Number of items successfully transferred to target.", + "readOnly": true + }, + "bytesScanned": { + "type": "integer", + "format": "int64", + "description": "Bytes of data scanned so far in source.", + "readOnly": true + }, + "bytesExcluded": { + "type": "integer", + "format": "int64", + "description": "Bytes of data that will not be transferred, as they are excluded by user configuration.", + "readOnly": true + }, + "bytesUnsupported": { + "type": "integer", + "format": "int64", + "description": "Bytes of data that will not be transferred, as they are unsupported on target.", + "readOnly": true + }, + "bytesNoTransferNeeded": { + "type": "integer", + "format": "int64", + "description": "Bytes of data that will not be transferred, as they are already found on target (e.g. mirror mode).", + "readOnly": true + }, + "bytesFailed": { + "type": "integer", + "format": "int64", + "description": "Bytes of data that were attempted to transfer and failed.", + "readOnly": true + }, + "bytesTransferred": { + "type": "integer", + "format": "int64", + "description": "Bytes of data successfully transferred to target.", + "readOnly": true + }, + "sourceName": { + "type": "string", + "description": "Name of source Endpoint resource. This resource may no longer exist.", + "readOnly": true + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified resource id of source Endpoint. This id may no longer exist.", + "readOnly": true + }, + "sourceProperties": { + "type": "object", + "description": "Copy of source Endpoint resource's properties at time of Job Run creation.", + "readOnly": true + }, + "targetName": { + "type": "string", + "description": "Name of target Endpoint resource. This resource may no longer exist.", + "readOnly": true + }, + "targetResourceId": { + "type": "string", + "description": "Fully qualified resource id of of Endpoint. This id may no longer exist.", + "readOnly": true + }, + "targetProperties": { + "type": "object", + "description": "Copy of Endpoint resource's properties at time of Job Run creation.", + "readOnly": true + }, + "jobDefinitionProperties": { + "type": "object", + "description": "Copy of parent Job Definition's properties at time of Job Run creation.", + "readOnly": true + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/JobRunError", + "description": "Error details." + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + } + }, + "JobRun": { + "description": "The Job Run resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JobRunProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "JobRunResourceId": { + "description": "Response that identifies a Job Run.", + "type": "object", + "properties": { + "jobRunResourceId": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource id of the Job Run." + } + } + }, + "JobRunList": { + "description": "List of Job Runs.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobRun" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + }, + "ProjectProperties": { + "description": "Project properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Project." + }, + "provisioningState": { + "description": "The provisioning state of this resource.", + "enum": [ + "Succeeded" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + } + }, + "Project": { + "description": "The Project resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "ProjectUpdateProperties": { + "description": "Project properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for the Project." + } + } + }, + "ProjectUpdateParameters": { + "description": "The Project resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectUpdateProperties" + } + } + }, + "ProjectList": { + "description": "List of Project resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Project" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + } + } + }, + "parameters": { + "AgentNameParameter": { + "name": "agentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Agent resource.", + "x-ms-parameter-location": "method" + }, + "StorageMoverNameParameter": { + "name": "storageMoverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Storage Mover resource.", + "x-ms-parameter-location": "method" + }, + "EndpointNameParameter": { + "name": "endpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Endpoint resource.", + "x-ms-parameter-location": "method" + }, + "JobDefinitionNameParameter": { + "name": "jobDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Job Definition resource.", + "x-ms-parameter-location": "method" + }, + "JobRunNameParameter": { + "name": "jobRunName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Job Run resource.", + "x-ms-parameter-location": "method" + }, + "ProjectNameParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Project resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storagemover/resource-manager/readme.md b/specification/storagemover/resource-manager/readme.md index 6323ad669509..92a8cda26488 100644 --- a/specification/storagemover/resource-manager/readme.md +++ b/specification/storagemover/resource-manager/readme.md @@ -27,18 +27,27 @@ These are the global settings for the storagemover. ``` yaml openapi-type: arm openapi-subtype: providerHub -tag: package-2023-03 +tag: package-preview-2023-07 ``` +### Tag: package-preview-2023-07 + +These settings apply only when `--tag=package-preview-2023-07` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2023-07' +input-file: + - Microsoft.StorageMover/preview/2023-07-01-preview/storagemover.json +``` ### Tag: package-2023-03 These settings apply only when `--tag=package-2023-03` is specified on the command line. -```yaml $(tag) == 'package-2023-03' +``` yaml $(tag) == 'package-2023-03' input-file: - Microsoft.StorageMover/stable/2023-03-01/storagemover.json ``` + ### Tag: package-2022-07-01-preview These settings apply only when `--tag=package-2022-07-01-preview` is specified on the command line. diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/OperationsList.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/OperationsList.json new file mode 100644 index 000000000000..ed1291b6c369 --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/OperationsList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StorageTasks/storageTasks/read", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageTask", + "resource": "StorageTasks", + "operation": "Get or List StorageTask resource(s).", + "description": "Gets or Lists existing StorageTask resource(s)." + } + }, + { + "name": "Microsoft.StorageTasks/storageTasks/write", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageTask", + "resource": "StorageTasks", + "operation": "Create or Update StorageTask resource.", + "description": "Creates or Updates StorageTask resource." + } + }, + { + "name": "Microsoft.StorageTasks/storageTasks/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft StorageTask", + "resource": "StorageTasks", + "operation": "Delete StorageTask resource.", + "description": "Deletes StorageTask resource." + } + } + ] + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/PerformStorageTaskActionsPreview.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/PerformStorageTaskActionsPreview.json new file mode 100644 index 000000000000..5ae8ec3a123c --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/misc/PerformStorageTaskActionsPreview.json @@ -0,0 +1,291 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "container": { + "name": "firstContainer", + "metadata": [ + { + "key": "mContainerKey1", + "value": "mContainerValue1" + } + ] + }, + "blobs": [ + { + "name": "folder1/file1.txt", + "properties": [ + { + "key": "Creation-Time", + "value": "Wed, 07 Jun 2023 05:23:29 GMT" + }, + { + "key": "Last-Modified", + "value": "Wed, 07 Jun 2023 05:23:29 GMT" + }, + { + "key": "Etag", + "value": "0x8DB67175454D36D" + }, + { + "key": "Content-Length", + "value": "38619" + }, + { + "key": "Content-Type", + "value": "text/xml" + }, + { + "key": "Content-Encoding", + "value": "" + }, + { + "key": "Content-Language", + "value": "" + }, + { + "key": "Content-CRC64", + "value": "" + }, + { + "key": "Content-MD5", + "value": "njr6iDrmU9+FC89WMK22EA==" + }, + { + "key": "Cache-Control", + "value": "" + }, + { + "key": "Content-Disposition", + "value": "" + }, + { + "key": "BlobType", + "value": "BlockBlob" + }, + { + "key": "AccessTier", + "value": "Hot" + }, + { + "key": "AccessTierInferred", + "value": "true" + }, + { + "key": "LeaseStatus", + "value": "unlocked" + }, + { + "key": "LeaseState", + "value": "available" + }, + { + "key": "ServerEncrypted", + "value": "true" + }, + { + "key": "TagCount", + "value": "1" + } + ], + "metadata": [ + { + "key": "mKey1", + "value": "mValue1" + } + ], + "tags": [ + { + "key": "tKey1", + "value": "tValue1" + } + ] + }, + { + "name": "folder2/file1.txt", + "properties": [ + { + "key": "Creation-Time", + "value": "Wed, 06 Jun 2023 05:23:29 GMT" + }, + { + "key": "Last-Modified", + "value": "Wed, 06 Jun 2023 05:23:29 GMT" + }, + { + "key": "Etag", + "value": "0x6FB67175454D36D" + } + ], + "metadata": [ + { + "key": "mKey2", + "value": "mValue2" + } + ], + "tags": [ + { + "key": "tKey2", + "value": "tValue2" + } + ] + } + ], + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Hot')]]" + }, + "elseBlockExists": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "container": { + "name": "firstContainer", + "metadata": [ + { + "key": "mContainerKey1", + "value": "mContainerValue1" + } + ] + }, + "blobs": [ + { + "name": "folder1/file1.txt", + "matchedBlock": "If", + "properties": [ + { + "key": "Creation-Time", + "value": "Wed, 07 Jun 2023 05:23:29 GMT" + }, + { + "key": "Last-Modified", + "value": "Wed, 07 Jun 2023 05:23:29 GMT" + }, + { + "key": "Etag", + "value": "0x8DB67175454D36D" + }, + { + "key": "Content-Length", + "value": "38619" + }, + { + "key": "Content-Type", + "value": "text/xml" + }, + { + "key": "Content-Encoding", + "value": "" + }, + { + "key": "Content-Language", + "value": "" + }, + { + "key": "Content-CRC64", + "value": "" + }, + { + "key": "Content-MD5", + "value": "njr6iDrmU9+FC89WMK22EA==" + }, + { + "key": "Cache-Control", + "value": "" + }, + { + "key": "Content-Disposition", + "value": "" + }, + { + "key": "BlobType", + "value": "BlockBlob" + }, + { + "key": "AccessTier", + "value": "Hot" + }, + { + "key": "AccessTierInferred", + "value": "true" + }, + { + "key": "LeaseStatus", + "value": "unlocked" + }, + { + "key": "LeaseState", + "value": "available" + }, + { + "key": "ServerEncrypted", + "value": "true" + }, + { + "key": "TagCount", + "value": "1" + } + ], + "metadata": [ + { + "key": "mKey1", + "value": "mValue1" + } + ], + "tags": [ + { + "key": "tKey1", + "value": "tValue1" + } + ] + }, + { + "name": "folder2/file1.txt", + "matchedBlock": "Else", + "properties": [ + { + "key": "Creation-Time", + "value": "Wed, 06 Jun 2023 05:23:29 GMT" + }, + { + "key": "Last-Modified", + "value": "Wed, 06 Jun 2023 05:23:29 GMT" + }, + { + "key": "Etag", + "value": "0x6FB67175454D36D" + } + ], + "metadata": [ + { + "key": "mKey2", + "value": "mValue2" + } + ], + "tags": [ + { + "key": "tKey2", + "value": "tValue2" + } + ] + } + ], + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Hot')]]" + }, + "elseBlockExists": true + } + } + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/DeleteStorageTask.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/DeleteStorageTask.json new file mode 100644 index 000000000000..ec59c890f854 --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/DeleteStorageTask.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "res4228", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/westus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + } + }, + "204": {} + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/GetStorageTask.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/GetStorageTask.json new file mode 100644 index 000000000000..acb05eed3866 --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/GetStorageTask.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "res4228", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/1f31ba14-ce16-4281-b9b4-3e78da6e1616/resourceGroups/res4228/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PatchStorageTask.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PatchStorageTask.json new file mode 100644 index 000000000000..081c32bab6ad --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PatchStorageTask.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "res4228", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "properties": { + "enabled": true, + "description": "My Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + }, + "body": { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res4228/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PutStorageTask.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PutStorageTask.json new file mode 100644 index 000000000000..50a0f4477805 --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksCrud/PutStorageTask.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "res4228", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true", + "parameters": { + "location": "westus", + "properties": { + "enabled": true, + "description": "My Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + }, + "body": { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res4228/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + }, + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + }, + "body": { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res4228/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.StorageTasks/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2023-01-01" + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTaskAssignmentIds.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTaskAssignmentIds.json new file mode 100644 index 000000000000..37d574aa316c --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTaskAssignmentIds.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "rgroup1", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/microsoft.storage/storageaccounts/acc123/storagetaskassignments/assign123" + }, + { + "id": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/microsoft.storage/storageaccounts/acc123/storagetaskassignments/assign455" + }, + { + "id": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup3/providers/microsoft.storage/storageaccounts/accxx1/storagetaskassignments/assign123" + }, + { + "id": "/subscriptions/28e089f2-9607-4285-a0d0-64dbe3771929/resourcegroups/rgroup4/providers/microsoft.storage/storageaccounts/accxx2/storagetaskassignments/assign123" + } + ] + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksByResourceGroup.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksByResourceGroup.json new file mode 100644 index 000000000000..d99c8b061ac9 --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksByResourceGroup.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "res6117", + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res6117/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "eastus", + "identity": { + "principalId": "2fd475e8-8923-4597-842f-7ce1adfc6c4a", + "tenantId": "b4a2005c-32c1-434c-bbf0-ff486912fc75", + "type": "SystemAssigned" + }, + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[greater(Content-Length, '100')]]", + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-05T23:06:50.7722358Z" + } + }, + { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res6117/providers/Microsoft.StorageTasks/storageTasks/mytask2", + "name": "mytask2", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + ] + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksBySubscription.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksBySubscription.json new file mode 100644 index 000000000000..3102f296ae4b --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksBySubscription.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "api-version": "2023-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res6117/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "name": "mytask1", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "eastus", + "identity": { + "principalId": "2fd475e8-8923-4597-842f-7ce1adfc6c4a", + "tenantId": "b4a2005c-32c1-434c-bbf0-ff486912fc75", + "type": "SystemAssigned" + }, + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[greater(Content-Length, '100')]]", + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-05T23:06:50.7722358Z" + } + }, + { + "id": "/subscriptions/c86a9c18-8373-41fa-92d4-1d7bdc16977b/resourceGroups/res6117/providers/Microsoft.StorageTasks/storageTasks/mytask2", + "name": "mytask2", + "type": "Microsoft.StorageTasks/storageTasks", + "location": "westus", + "properties": { + "enabled": true, + "description": "Storage task", + "action": { + "if": { + "condition": "[[equals(AccessTier, 'Cool')]]", + "operations": [ + { + "name": "SetBlobTier", + "parameters": { + "tier": "Hot" + }, + "onSuccess": "continue", + "onFailure": "break" + } + ] + }, + "else": { + "operations": [ + { + "name": "DeleteBlob", + "onSuccess": "continue", + "onFailure": "break" + } + ] + } + }, + "taskVersion": 1, + "provisioningState": "Succeeded", + "creationTimeInUtc": "2023-07-06T00:24:59.1441663Z" + } + } + ] + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksRunReportSummary.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksRunReportSummary.json new file mode 100644 index 000000000000..c84f901139da --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/examples/storageTasksList/ListStorageTasksRunReportSummary.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "1f31ba14-ce16-4281-b9b4-3e78da6e1616", + "resourceGroupName": "rgroup1", + "storageTaskName": "mytask1", + "api-version": "2023-01-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.StorageTasks/storageTasks/myTaskName/reports/instance1", + "name": "instance1", + "type": "Microsoft.StorageTasks/storageTasks/reports", + "properties": { + "taskAssignmentId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.Storage/storageAccounts/acc123/storageTaskAssignments/assign1", + "storageAccountId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.Storage/storageAccounts/acc123", + "startTime": "2023-06-23T00:30:43.226744Z", + "finishTime": "2023-06-23T00:40:10.2931264Z", + "objectsTargetedCount": "150", + "objectsOperatedOnCount": "150", + "objectFailedCount": "0", + "objectsSucceededCount": "150", + "runStatusError": "0", + "runStatusEnum": "Finished", + "summaryReportPath": "https://acc123.blob.core.windows.net/result-container/{folderpath}/SummaryReport.json", + "taskId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "taskVersion": "1", + "runResult": "Succeeded" + } + }, + { + "id": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.StorageTasks/storageTasks/myTaskName/reports/instance2", + "name": "instance2", + "type": "Microsoft.StorageTasks/storageTasks/reports", + "properties": { + "taskAssignmentId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.Storage/storageAccounts/acc123/storageTaskAssignments/assign1", + "storageAccountId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.Storage/storageAccounts/acc123", + "startTime": "2023-06-23T00:30:43.226744Z", + "finishTime": "2023-06-23T00:40:10.2931264Z", + "objectsTargetedCount": "150", + "objectsOperatedOnCount": "150", + "objectFailedCount": "0", + "objectsSucceededCount": "150", + "runStatusError": "0", + "runStatusEnum": "Finished", + "summaryReportPath": "https://acc123.blob.core.windows.net/result-container/{folderpath}/SummaryReport.json", + "taskId": "/subscriptions/9d6baee9-681f-44d8-99f7-d06d180af6bb/resourcegroups/rgroup1/providers/Microsoft.StorageTasks/storageTasks/mytask1", + "taskVersion": "1", + "runResult": "Succeeded" + } + } + ], + "nextLink": "{nextlink}" + } + } + } +} diff --git a/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/storagetasks.json b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/storagetasks.json new file mode 100644 index 000000000000..4727ca81d16e --- /dev/null +++ b/specification/storagetasks/resource-manager/Microsoft.StorageTasks/stable/2023-01-01/storagetasks.json @@ -0,0 +1,1085 @@ +{ + "swagger": "2.0", + "info": { + "title": "StorageTasksManagementClient", + "description": "The Azure Storage Tasks Management API.", + "version": "2023-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.StorageTasks/operations": { + "get": { + "tags": [ + "Storage Tasks Operations" + ], + "description": "Lists all of the available Storage Tasks Rest API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/misc/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageTasks/storageTasks/{storageTaskName}": { + "put": { + "tags": [ + "StorageTasks" + ], + "description": "Asynchronously creates a new storage task resource with the specified parameters. If a storage task is already created and a subsequent create request is issued with different properties, the storage task properties will be updated. If a storage task is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.", + "operationId": "StorageTasks_Create", + "x-ms-examples": { + "PutStorageTask": { + "$ref": "./examples/storageTasksCrud/PutStorageTask.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageTask" + }, + "description": "The parameters to create a Storage Task." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update storage task with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/StorageTask" + } + }, + "201": { + "description": "OK -- Create storage task with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/StorageTask" + } + }, + "202": { + "description": "Accepted -- Create or 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" + } + }, + "delete": { + "tags": [ + "StorageTasks" + ], + "description": "Delete the storage task resource.", + "operationId": "StorageTasks_Delete", + "x-ms-examples": { + "DeleteStorageTask": { + "$ref": "./examples/storageTasksCrud/DeleteStorageTask.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Delete request accepted; operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "NoContent -- specified storage task 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" + } + }, + "get": { + "tags": [ + "StorageTasks" + ], + "description": "Get the storage task properties", + "operationId": "StorageTasks_Get", + "x-ms-examples": { + "GetStorageTask": { + "$ref": "./examples/storageTasksCrud/GetStorageTask.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved successfully for the storage task.", + "schema": { + "$ref": "#/definitions/StorageTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTasks_Update", + "description": "Update storage task properties", + "x-ms-examples": { + "PatchStorageTask": { + "$ref": "./examples/storageTasksCrud/PatchStorageTask.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageTaskUpdateParameters" + }, + "description": "The parameters to provide to update the storage task resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the update request body had no changes.", + "schema": { + "$ref": "#/definitions/StorageTask" + } + }, + "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" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageTasks/storageTasks": { + "get": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTasks_ListBySubscription", + "description": "Lists all the storage tasks available under the subscription.", + "x-ms-examples": { + "ListStorageTasksBySubscription": { + "$ref": "./examples/storageTasksList/ListStorageTasksBySubscription.json" + } + }, + "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 -- List of storage tasks was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageTasksListResult" + } + }, + "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.StorageTasks/storageTasks": { + "get": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTasks_ListByResourceGroup", + "description": "Lists all the storage tasks available under the given resource group.", + "x-ms-examples": { + "ListStorageTasksByResourceGroup": { + "$ref": "./examples/storageTasksList/ListStorageTasksByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage tasks in the given resource group retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageTasksListResult" + } + }, + "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.StorageTasks/storageTasks/{storageTaskName}/storageTaskAssignments": { + "get": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTaskAssignment_List", + "description": "Lists all the storage tasks available under the given resource group.", + "x-ms-examples": { + "ListStorageTaskAssignmentsByResourceGroup": { + "$ref": "./examples/storageTasksList/ListStorageTaskAssignmentIds.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional, specifies the maximum number of storage task assignment Ids to be included in the list response." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage task assignment Ids retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageTaskAssignmentsListResult" + } + }, + "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.StorageTasks/storageTasks/{storageTaskName}/reports": { + "get": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTasksReport_List", + "description": "Fetch the storage tasks run report summary for each assignment.", + "x-ms-examples": { + "ListStorageTasksByResourceGroup": { + "$ref": "./examples/storageTasksList/ListStorageTasksRunReportSummary.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/StorageTaskName" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional, specifies the maximum number of storage task assignment Ids to be included in the list response." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, it can be used to query using reporting properties." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Storage tasks run report summary retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageTaskReportSummary" + } + }, + "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.StorageTasks/previewActions": { + "post": { + "tags": [ + "StorageTasks" + ], + "operationId": "StorageTasks_PreviewActions", + "description": "Runs the input conditions against input object metadata properties and designates matched objects in response.", + "x-ms-examples": { + "PerformStorageTaskActionsPreview": { + "$ref": "./examples/misc/PerformStorageTaskActionsPreview.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageTaskPreviewAction" + }, + "description": "The parameters to preview action condition." + } + ], + "responses": { + "200": { + "description": "OK -- Storage tasks preview action was performed and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageTaskPreviewAction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "StorageTask": { + "type": "object", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageTaskProperties", + "description": "Properties of the storage task." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "description": "Represents Storage Task." + }, + "StorageTaskUpdateParameters": { + "type": "object", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets 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 in length than 128 characters and a value no greater in length than 256 characters." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageTaskProperties", + "description": "Properties of the storage task." + } + }, + "description": "Parameters of the storage task update request" + }, + "StorageTaskProperties": { + "type": "object", + "properties": { + "taskVersion": { + "readOnly": true, + "type": "integer", + "minimum": 1, + "maximum": 1, + "format": "int64", + "description": "Storage task version." + }, + "enabled": { + "type": "boolean", + "description": "Storage Task is enabled when set to true and disabled when set to false" + }, + "description": { + "type": "string", + "description": "Text that describes the purpose of the storage task" + }, + "action": { + "$ref": "#/definitions/StorageTaskAction", + "description": "The storage task action that is executed" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Represents the provisioning state of the storage task.", + "enum": [ + "ValidateSubscriptionQuotaBegin", + "ValidateSubscriptionQuotaEnd", + "Creating", + "Succeeded", + "Deleting", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "creationTimeInUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The creation date and time of the storage task in UTC." + } + }, + "required": [ + "enabled", + "description", + "action" + ], + "description": "Properties of the storage task." + }, + "StorageTaskAction": { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/IfCondition", + "description": "The if block of storage task operation" + }, + "else": { + "$ref": "#/definitions/ElseCondition", + "description": "The else block of storage task operation" + } + }, + "required": [ + "if" + ], + "description": "The storage task action represents conditional statements and operations to be performed on target objects." + }, + "IfCondition": { + "type": "object", + "properties": { + "condition": { + "type": "string", + "description": "The condition predicate which is composed of object properties, eg: blob and container properties." + }, + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskOperation" + }, + "x-ms-identifiers": [], + "description": "List of operations to execute when the condition predicate satisfies." + } + }, + "required": [ + "condition", + "operations" + ], + "description": "The if block of storage task operation" + }, + "ElseCondition": { + "type": "object", + "properties": { + "operations": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskOperation" + }, + "x-ms-identifiers": [], + "description": "List of operations to execute in the else block" + } + }, + "required": [ + "operations" + ], + "description": "The else block of storage task operation" + }, + "StorageTaskOperation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The operation to be performed on the object.", + "enum": [ + "SetBlobTier", + "SetBlobTags", + "SetBlobImmutabilityPolicy", + "SetBlobLegalHold", + "SetBlobExpiry", + "DeleteBlob", + "UndeleteBlob" + ], + "x-ms-enum": { + "name": "StorageTaskOperationName", + "modelAsString": true + } + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value parameters for the operation." + }, + "onSuccess": { + "type": "string", + "description": "Action to be taken when the operation is successful for a object.", + "enum": [ + "continue" + ], + "x-ms-enum": { + "name": "onSuccess", + "modelAsString": false + } + }, + "onFailure": { + "type": "string", + "description": "Action to be taken when the operation fails for a object.", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "onFailure", + "modelAsString": false + } + } + }, + "required": [ + "name" + ], + "description": "Represents an operation to be performed on the object" + }, + "StorageTasksListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageTask" + }, + "x-ms-identifiers": [], + "description": "Gets the list of storage tasks and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage tasks. Returned when total number of requested storage tasks exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Tasks operation." + }, + "StorageTaskAssignmentsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskAssignment" + }, + "x-ms-identifiers": [], + "description": "Gets the list of storage task assignment Ids." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage task assignment Ids. Returned when total number of requested storage task assignment Ids exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Tasks operation." + }, + "StorageTaskAssignment": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "ARM Id of the storage task assignments, associated with the storage tasks.", + "readOnly": true + } + }, + "description": "Fetch the Storage task assignment ARM ids." + }, + "StorageTaskReportSummary": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskReportInstance" + }, + "x-ms-identifiers": [], + "description": "Gets storage tasks run result summary." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage task run results summary. Returned when the number of run instances and summary reports exceed maximum page size.", + "readOnly": true + } + }, + "description": "Fetch Storage Tasks Run Summary." + }, + "StorageTaskReportInstance": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/StorageTaskReportProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Storage Tasks run report instance" + }, + "StorageTaskReportProperties": { + "type": "object", + "properties": { + "taskAssignmentId": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts/storageTaskAssignments" + } + ] + }, + "description": "Represents the Storage Task Assignment Id associated with the storage task that provided an execution context." + }, + "storageAccountId": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + }, + "description": "Represents the Storage Account Id where the storage task definition was applied and executed." + }, + "startTime": { + "readOnly": true, + "type": "string", + "description": "Start time of the run instance. Filter options such as startTime gt '2023-06-26T20:51:24.4494016Z' and other comparison operators can be used as described for DateTime properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "finishTime": { + "readOnly": true, + "type": "string", + "description": "End time of the run instance. Filter options such as startTime gt '2023-06-26T20:51:24.4494016Z' and other comparison operators can be used as described for DateTime properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "objectsTargetedCount": { + "readOnly": true, + "type": "string", + "description": "Total number of objects that meet the condition as defined in the storage task assignment execution context. Filter options such as objectsTargetedCount gt 50 and other comparison operators can be used as described for Numerical properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "objectsOperatedOnCount": { + "readOnly": true, + "type": "string", + "description": "Total number of objects that meet the storage tasks condition and were operated upon. Filter options such as objectsOperatedOnCount ge 100 and other comparison operators can be used as described for Numerical properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "objectFailedCount": { + "readOnly": true, + "type": "string", + "description": "Total number of objects where task operation failed when was attempted. Filter options such as objectFailedCount eq 0 and other comparison operators can be used as described for Numerical properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "objectsSucceededCount": { + "readOnly": true, + "type": "string", + "description": "Total number of objects where task operation succeeded when was attempted.Filter options such as objectsSucceededCount gt 150 and other comparison operators can be used as described for Numerical properties in https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-comparison-operators" + }, + "runStatusError": { + "readOnly": true, + "type": "string", + "description": "Well known Azure Storage error code that represents the error encountered during execution of the run instance." + }, + "runStatusEnum": { + "readOnly": true, + "type": "string", + "enum": [ + "InProgress", + "Finished" + ], + "x-ms-enum": { + "name": "RunStatusEnum", + "modelAsString": true + }, + "description": "Represents the status of the execution." + }, + "summaryReportPath": { + "readOnly": true, + "type": "string", + "description": "Full path to the verbose report stored in the reporting container as specified in the assignment execution context for the storage account. " + }, + "taskId": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.StorageTasks/storageTasks" + } + ] + }, + "description": "Storage Task Arm Id." + }, + "taskVersion": { + "readOnly": true, + "type": "string", + "description": "Storage Task Version" + }, + "runResult": { + "readOnly": true, + "type": "string", + "enum": [ + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "RunResult", + "modelAsString": true + }, + "description": "Represents the overall result of the execution for the run instance" + } + }, + "description": "Storage task execution report for a run instance." + }, + "StorageTaskPreviewAction": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageTaskPreviewActionProperties", + "description": "Properties of the storage task preview." + } + }, + "required": [ + "properties" + ], + "description": "Storage Task Preview Action." + }, + "StorageTaskPreviewActionProperties": { + "type": "object", + "properties": { + "container": { + "type": "object", + "$ref": "#/definitions/StorageTaskPreviewContainerProperties", + "description": "Preview action container properties to be tested for a match with the provided condition." + }, + "blobs": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskPreviewBlobProperties" + }, + "x-ms-identifiers": [], + "description": "Preview action container properties to be tested for a match with the provided condition." + }, + "action": { + "type": "object", + "$ref": "#/definitions/StorageTaskPreviewActionCondition", + "description": "Preview action container properties to be tested for a match with the provided condition." + } + }, + "required": [ + "container", + "blobs", + "action" + ], + "description": "Storage task preview action properties." + }, + "StorageTaskPreviewActionCondition": { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/StorageTaskPreviewActionIfCondition", + "description": "The condition to be tested for a match with container and blob properties." + }, + "elseBlockExists": { + "type": "boolean", + "description": "Specify whether the else block is present in the condition." + } + }, + "required": [ + "if", + "elseBlockExists" + ], + "description": "Represents the storage task conditions to be tested for a match with container and blob properties." + }, + "StorageTaskPreviewActionIfCondition": { + "type": "object", + "properties": { + "condition": { + "type": "string", + "description": "Storage task condition to bes tested for a match." + } + }, + "description": "Represents storage task preview action condition." + }, + "StorageTaskPreviewContainerProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "property for the container name." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskPreviewKeyValueProperties" + }, + "x-ms-identifiers": [], + "description": "metadata key value pairs to be tested for a match against the provided condition." + } + }, + "description": "Storage task preview container properties" + }, + "StorageTaskPreviewBlobProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "property for the container name." + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskPreviewKeyValueProperties" + }, + "x-ms-identifiers": [], + "description": "properties key value pairs to be tested for a match against the provided condition." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskPreviewKeyValueProperties" + }, + "x-ms-identifiers": [], + "description": "metadata key value pairs to be tested for a match against the provided condition." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageTaskPreviewKeyValueProperties" + }, + "x-ms-identifiers": [], + "description": "tags key value pairs to be tested for a match against the provided condition." + }, + "matchedBlock": { + "type": "string", + "readOnly": true, + "enum": [ + "If", + "Else", + "None" + ], + "x-ms-enum": { + "name": "matchedBlockName", + "modelAsString": true + }, + "description": "Represents the condition block name that matched blob properties." + } + }, + "description": "Storage task preview container properties" + }, + "StorageTaskPreviewKeyValueProperties": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Represents the key property of the pair." + }, + "value": { + "type": "string", + "description": "Represents the value property of the pair." + } + }, + "description": "Storage task preview object key value pair properties." + } + }, + "parameters": { + "StorageTaskName": { + "name": "storageTaskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage task within the specified resource group. Storage task names must be between 3 and 18 characters in length and use numbers and lower-case letters only.", + "pattern": "^[a-z0-9]{3,18}$", + "maxLength": 18, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storagetasks/resource-manager/readme.az.md b/specification/storagetasks/resource-manager/readme.az.md new file mode 100644 index 000000000000..0fedbd2d5ab6 --- /dev/null +++ b/specification/storagetasks/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: storagetasks + namespace: azure.mgmt.storagetasks + package-name: azure-mgmt-storagetasks +az-output-folder: $(azure-cli-extension-folder)/src/storagetasks +python-sdk-output-folder: "$(az-output-folder)/azext_storagetasks/vendored_sdks/storagetasks" +# 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: storagetasks + namespace: azure.mgmt.storagetasks + package-name: azure-mgmt-storagetasks +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/storagetasks +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/storagetasks" +``` \ No newline at end of file diff --git a/specification/storagetasks/resource-manager/readme.cli.md b/specification/storagetasks/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/storagetasks/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/storagetasks/resource-manager/readme.csharp.md b/specification/storagetasks/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..37dfc2d9a40b --- /dev/null +++ b/specification/storagetasks/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: 2 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.StorageTasks + output-folder: $(csharp-sdks-folder)/StorageTasks/Microsoft.Azure.Management.StorageTasks/src/Generated +``` diff --git a/specification/storagetasks/resource-manager/readme.go.md b/specification/storagetasks/resource-manager/readme.go.md new file mode 100644 index 000000000000..935ff6020b90 --- /dev/null +++ b/specification/storagetasks/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/storagetasks/armstoragetasks +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` \ No newline at end of file diff --git a/specification/storagetasks/resource-manager/readme.md b/specification/storagetasks/resource-manager/readme.md new file mode 100644 index 000000000000..4aa4434d1739 --- /dev/null +++ b/specification/storagetasks/resource-manager/readme.md @@ -0,0 +1,75 @@ +# storagetasks + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for storagepool. + +## 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 storagetasks. + +```yaml +openapi-type: arm +tag: package-2023-01-01 +``` + +### Tag: package-2023-01-01 + +These settings apply only when `--tag=package-2023-01-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-01-01' +input-file: + - Microsoft.StorageTasks/stable/2023-01-01/storagetasks.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-net-track2 + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_storagetasks'] +``` + +## 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) \ No newline at end of file diff --git a/specification/storagetasks/resource-manager/readme.python.md b/specification/storagetasks/resource-manager/readme.python.md new file mode 100644 index 000000000000..ef3ca50efcf9 --- /dev/null +++ b/specification/storagetasks/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-storagetasks +namespace: azure.mgmt.storagetasks +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/storagetasks/azure-mgmt-storagetasks/azure/mgmt/storagetasks +``` diff --git a/specification/storagetasks/resource-manager/readme.typescript.md b/specification/storagetasks/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..a681fd6b799f --- /dev/null +++ b/specification/storagetasks/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## 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-storagetasks" + output-folder: "$(typescript-sdks-folder)/sdk/storagetaskss/arm-storagetasks" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 97b8b10bb0fb..521f7b0c83f5 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -84,6 +84,16 @@ input-file: - Microsoft.Synapse/stable/2020-12-01/entityTypes/SparkJobDefinition.json - Microsoft.Synapse/stable/2020-12-01/entityTypes/SqlScript.json - Microsoft.Synapse/stable/2020-12-01/entityTypes/Trigger.json +``` + +### Tag: package-artifacts-2021-04-01 + +These settings apply only when `--tag=package-artifacts-2021-04-01` is specified on the command line. + +**ATTENTION**: Please DO NOT generate SDK based on this tag. Syms API set is not ready to be included in SDK. + +``` yaml $(tag) == 'package-artifacts-2021-04-01' +input-file: - Microsoft.Synapse/stable/2021-04-01/symsAPI.json ``` diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/examples/RenameSqlPool.json deleted file mode 100644 index e1dae41e3ce8..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2021-04-01-preview", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json index 168d541a900e..d1a36e297ea3 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/sqlPool.json @@ -459,63 +459,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7010,19 +6953,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/RenameSqlPool.json deleted file mode 100644 index b7519b0e531c..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2021-06-01-preview", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json index 62624676e6f1..b0e640901a93 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlPool.json @@ -467,63 +467,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7209,19 +7152,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/examples/RenameSqlPool.json deleted file mode 100644 index 2768b040293c..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2020-12-01", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json index 194fbfdeb7dd..990ddb87d16f 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/sqlPool.json @@ -459,63 +459,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7006,19 +6949,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/examples/RenameSqlPool.json deleted file mode 100644 index 1b5bd10ceab8..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2021-03-01", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json index 50d955f008ae..5865e74fc882 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/sqlPool.json @@ -459,63 +459,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7009,19 +6952,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/examples/RenameSqlPool.json deleted file mode 100644 index 5e5bd131cd20..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2021-05-01", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json index c9a6d2349ce8..133b991eb51a 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-05-01/sqlPool.json @@ -459,63 +459,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./workspace.json#/parameters/workspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7009,19 +6952,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/RenameSqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/RenameSqlPool.json deleted file mode 100644 index 56b14cd3222d..000000000000 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/RenameSqlPool.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "Default-SQL-SouthEastAsia", - "workspaceName": "testsvr", - "sqlPoolName": "testdb", - "api-version": "2021-06-01", - "parameters": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/testsvr/sqlPools/newtestdb" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json index fac49e9463cb..61512fc37b56 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlPool.json @@ -467,63 +467,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/move": { - "post": { - "operationId": "SqlPools_Rename", - "summary": "Rename a SQL pool", - "description": "Rename a SQL pool.", - "tags": [ - "SqlPools" - ], - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "type": "string", - "in": "path", - "name": "sqlPoolName", - "description": "SQL pool name", - "required": true - }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this Sql pool.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - } - ], - "responses": { - "200": { - "description": "Successfully renamed the Sql pool" - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." - } - }, - "consumes": [], - "produces": [ - "application/json" - ], - "x-ms-examples": { - "Rename a SQL Analytics pool": { - "$ref": "./examples/RenameSqlPool.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/metadataSync/config": { "get": { "operationId": "SqlPoolMetadataSyncConfigs_Get", @@ -7131,19 +7074,6 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, "CreateSqlPoolRestorePointDefinition": { "description": "Contains the information necessary to perform a create Sql pool restore point operation.", "required": [ diff --git a/specification/translation/Azure.AI.TextTranslation/routes.tsp b/specification/translation/Azure.AI.TextTranslation/routes.tsp index d7f5b599a8b4..850261f2d4a7 100644 --- a/specification/translation/Azure.AI.TextTranslation/routes.tsp +++ b/specification/translation/Azure.AI.TextTranslation/routes.tsp @@ -29,7 +29,7 @@ op CustomOperation< @doc("Mandatory API version parameter") @query("api-version") - apiVersion: string + apiVersion: string, ): TResponse | TError; @doc("Defines Text Translation custom Operations which doesn't have any content in the request") @@ -38,7 +38,7 @@ op CustomGetOperation( @doc("Mandatory API version parameter") @query("api-version") - apiVersion: string + apiVersion: string, ): TResponse | TError; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is an existing service, we have a non-conforming operation." diff --git a/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json b/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json index bd7d6ff95748..8aa0404fcb70 100644 --- a/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json +++ b/specification/translation/data-plane/Azure.AI.TextTranslation/stable/v3.0/openapi.json @@ -45,10 +45,10 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "$ref": "#/parameters/BreakSentenceParameters.language" @@ -59,54 +59,52 @@ { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" }, { "name": "requestBody", "in": "body", - "required": true, "description": "Defines the content of the request", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/InputTextItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "InputTextItem[]" + "x-ms-identifiers": [] } } ], "responses": { "200": { "description": "Response for the Break SEntence API.", - "headers": { - "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" - } - }, "schema": { "type": "array", "items": { "$ref": "#/definitions/BreakSentenceItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "BreakSentenceItem[]" + "x-ms-identifiers": [] + }, + "headers": { + "X-RequestId": { + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -129,76 +127,74 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "name": "from", "in": "query", - "required": true, "description": "Specifies the language of the input text.\nThe source language must be one of the supported languages included in the dictionary scope.", + "required": true, "type": "string" }, { "name": "to", "in": "query", - "required": true, "description": "Specifies the language of the output text.\nThe target language must be one of the supported languages included in the dictionary scope.", + "required": true, "type": "string" }, { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" }, { "name": "requestBody", "in": "body", - "required": true, "description": "Defines the content of the request", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/DictionaryExampleTextItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "DictionaryExampleTextItem[]" + "x-ms-identifiers": [] } } ], "responses": { "200": { "description": "Response for the dictionary examples API.", - "headers": { - "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" - } - }, "schema": { "type": "array", "items": { "$ref": "#/definitions/DictionaryExampleItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "DictionaryExampleItem[]" + "x-ms-identifiers": [] + }, + "headers": { + "X-RequestId": { + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -221,76 +217,74 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "name": "from", "in": "query", - "required": true, "description": "Specifies the language of the input text.\nThe source language must be one of the supported languages included in the dictionary scope.", + "required": true, "type": "string" }, { "name": "to", "in": "query", - "required": true, "description": "Specifies the language of the output text.\nThe target language must be one of the supported languages included in the dictionary scope.", + "required": true, "type": "string" }, { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" }, { "name": "requestBody", "in": "body", - "required": true, "description": "Defines the content of the request", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/InputTextItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "InputTextItem[]" + "x-ms-identifiers": [] } } ], "responses": { "200": { "description": "Response for the dictionary lookup API.", - "headers": { - "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" - } - }, "schema": { "type": "array", "items": { "$ref": "#/definitions/DictionaryLookupItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "DictionaryLookupItem[]" + "x-ms-identifiers": [] + }, + "headers": { + "X-RequestId": { + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -313,10 +307,10 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "$ref": "#/parameters/GetLanguageParameters.scope" @@ -330,39 +324,39 @@ { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" } ], "responses": { "200": { "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/GetLanguagesResult" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." }, "ETag": { - "description": "Current value of the entity tag for the requested groups of supported languages. \nTo make subsequent requests more efficient, the client may send the `ETag` value in an \n`If-None-Match` header field.", - "type": "string" + "type": "string", + "description": "Current value of the entity tag for the requested groups of supported languages. \nTo make subsequent requests more efficient, the client may send the `ETag` value in an \n`If-None-Match` header field." } - }, - "schema": { - "$ref": "#/definitions/GetLanguagesResult" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -385,10 +379,10 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "$ref": "#/parameters/TranslateParameters.to" @@ -429,33 +423,39 @@ { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" }, { "name": "requestBody", "in": "body", - "required": true, "description": "Defines the content of the request", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/InputTextItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "InputTextItem[]" + "x-ms-identifiers": [] } } ], "responses": { "200": { "description": "Response for the translation API.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TranslatedTextItem" + }, + "x-ms-identifiers": [] + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." }, "x-mt-system": { "description": "Specifies the system type that was used for translation for each 'to' language requested for translation. \nThe value is a comma-separated list of strings. Each string indicates a type:\n\n* Custom - Request includes a custom system and at least one custom system was used during translation.\n* Team - All other requests", @@ -466,26 +466,18 @@ "type": "integer", "format": "int32" } - }, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/TranslatedTextItem" - }, - "x-ms-identifiers": [], - "x-typespec-name": "TranslatedTextItem[]" } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -508,10 +500,10 @@ { "name": "X-ClientTraceId", "in": "header", - "required": false, "description": "A client-generated GUID to uniquely identify the request.", - "x-ms-client-name": "clientTraceId", - "type": "string" + "required": false, + "type": "string", + "x-ms-client-name": "clientTraceId" }, { "$ref": "#/parameters/TransliterateParameters.language" @@ -525,54 +517,52 @@ { "name": "api-version", "in": "query", - "required": true, "description": "Mandatory API version parameter", - "x-ms-client-name": "apiVersion", - "type": "string" + "required": true, + "type": "string", + "x-ms-client-name": "apiVersion" }, { "name": "requestBody", "in": "body", - "required": true, "description": "Defines the content of the request", + "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/InputTextItem" }, - "x-ms-identifiers": [], - "x-typespec-name": "InputTextItem[]" + "x-ms-identifiers": [] } } ], "responses": { "200": { "description": "Response for the transliteration API.", - "headers": { - "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" - } - }, "schema": { "type": "array", "items": { "$ref": "#/definitions/TransliteratedText" }, - "x-ms-identifiers": [], - "x-typespec-name": "TransliteratedText[]" + "x-ms-identifiers": [] + }, + "headers": { + "X-RequestId": { + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." + } } }, "default": { "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + }, "headers": { "X-RequestId": { - "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes.", - "type": "string" + "type": "string", + "description": "Value generated by the service to identify the request. It is used for troubleshooting purposes." } - }, - "schema": { - "$ref": "#/definitions/ErrorResponse" } } }, @@ -607,6 +597,7 @@ }, "BackTranslation": { "type": "object", + "description": "Back Translation", "properties": { "normalizedText": { "type": "string", @@ -627,7 +618,6 @@ "description": "An integer representing the frequency of this translation pair in the data. The main purpose of this\nfield is to provide a user interface with a means to sort back-translations so the most frequent terms are first." } }, - "description": "Back Translation", "required": [ "normalizedText", "displayText", @@ -637,6 +627,7 @@ }, "BreakSentenceItem": { "type": "object", + "description": "Item containing break sentence result.", "properties": { "detectedLanguage": { "$ref": "#/definitions/DetectedLanguage", @@ -644,39 +635,37 @@ }, "sentLen": { "type": "array", + "description": "An integer array representing the lengths of the sentences in the input text.\nThe length of the array is the number of sentences, and the values are the length of each sentence.", "items": { "type": "integer", "format": "int32" - }, - "description": "An integer array representing the lengths of the sentences in the input text.\nThe length of the array is the number of sentences, and the values are the length of each sentence.", - "x-typespec-name": "int32[]" + } } }, - "description": "Item containing break sentence result.", "required": [ "sentLen" ] }, "BreakSentenceResult": { "type": "object", + "description": "Response for the Break SEntence API.", "properties": { "result": { "type": "array", + "description": "Array of the break sentence elements.", "items": { "$ref": "#/definitions/BreakSentenceItem" }, - "x-ms-identifiers": [], - "description": "Array of the break sentence elements.", - "x-typespec-name": "BreakSentenceItem[]" + "x-ms-identifiers": [] } }, - "description": "Response for the Break SEntence API.", "required": [ "result" ] }, "CommonScriptModel": { "type": "object", + "description": "Common properties of language script", "properties": { "code": { "type": "string", @@ -695,7 +684,6 @@ "description": "Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages." } }, - "description": "Common properties of language script", "required": [ "code", "name", @@ -705,6 +693,7 @@ }, "DetectedLanguage": { "type": "object", + "description": "An object describing the detected language.", "properties": { "language": { "type": "string", @@ -716,7 +705,6 @@ "description": "A float value indicating the confidence in the result.\nThe score is between zero and one and a low score indicates a low confidence." } }, - "description": "An object describing the detected language.", "required": [ "language", "score" @@ -724,6 +712,7 @@ }, "DictionaryExample": { "type": "object", + "description": "Dictionary Example", "properties": { "sourcePrefix": { "type": "string", @@ -750,7 +739,6 @@ "description": "A string similar to sourceSuffix but for the target." } }, - "description": "Dictionary Example", "required": [ "sourcePrefix", "sourceTerm", @@ -762,6 +750,7 @@ }, "DictionaryExampleItem": { "type": "object", + "description": "Dictionary Example element", "properties": { "normalizedSource": { "type": "string", @@ -773,15 +762,13 @@ }, "examples": { "type": "array", + "description": "A list of examples for the (source term, target term) pair.", "items": { "$ref": "#/definitions/DictionaryExample" }, - "x-ms-identifiers": [], - "description": "A list of examples for the (source term, target term) pair.", - "x-typespec-name": "DictionaryExample[]" + "x-ms-identifiers": [] } }, - "description": "Dictionary Example element", "required": [ "normalizedSource", "normalizedTarget", @@ -790,13 +777,13 @@ }, "DictionaryExampleTextItem": { "type": "object", + "description": "Element containing the text with translation.", "properties": { "translation": { "type": "string", "description": "A string specifying the translated text previously returned by the Dictionary lookup operation. \nThis should be the value from the normalizedTarget field in the translations list of the Dictionary \nlookup response. The service will return examples for the specific source-target word-pair." } }, - "description": "Element containing the text with translation.", "required": [ "translation" ], @@ -808,6 +795,7 @@ }, "DictionaryExamplesParameters": { "type": "object", + "description": "Request parameters for the dictionary examples API.", "properties": { "from": { "type": "string", @@ -818,7 +806,6 @@ "description": "Specifies the language of the output text.\nThe target language must be one of the supported languages included in the dictionary scope." } }, - "description": "Request parameters for the dictionary examples API.", "required": [ "from", "to" @@ -826,24 +813,24 @@ }, "DictionaryExamplesResult": { "type": "object", + "description": "Response for the dictionary examples API.", "properties": { "result": { "type": "array", + "description": "Array of the dictionary examples elements.", "items": { "$ref": "#/definitions/DictionaryExampleItem" }, - "x-ms-identifiers": [], - "description": "Array of the dictionary examples elements.", - "x-typespec-name": "DictionaryExampleItem[]" + "x-ms-identifiers": [] } }, - "description": "Response for the dictionary examples API.", "required": [ "result" ] }, "DictionaryLookupItem": { "type": "object", + "description": "Dictionary Lookup Element", "properties": { "normalizedSource": { "type": "string", @@ -855,15 +842,13 @@ }, "translations": { "type": "array", + "description": "A list of translations for the source term.", "items": { "$ref": "#/definitions/DictionaryTranslation" }, - "x-ms-identifiers": [], - "description": "A list of translations for the source term.", - "x-typespec-name": "DictionaryTranslation[]" + "x-ms-identifiers": [] } }, - "description": "Dictionary Lookup Element", "required": [ "normalizedSource", "displaySource", @@ -872,6 +857,7 @@ }, "DictionaryLookupParameters": { "type": "object", + "description": "Request parameters for the dictionary lookup API.", "properties": { "from": { "type": "string", @@ -882,7 +868,6 @@ "description": "Specifies the language of the output text.\nThe target language must be one of the supported languages included in the dictionary scope." } }, - "description": "Request parameters for the dictionary lookup API.", "required": [ "from", "to" @@ -890,24 +875,24 @@ }, "DictionaryLookupResult": { "type": "object", + "description": "Response for the dictionary lookup API.", "properties": { "result": { "type": "array", + "description": "Array of the dictionary lookup elements.", "items": { "$ref": "#/definitions/DictionaryLookupItem" }, - "x-ms-identifiers": [], - "description": "Array of the dictionary lookup elements.", - "x-typespec-name": "DictionaryLookupItem[]" + "x-ms-identifiers": [] } }, - "description": "Response for the dictionary lookup API.", "required": [ "result" ] }, "DictionaryTranslation": { "type": "object", + "description": "Translation source term.", "properties": { "normalizedTarget": { "type": "string", @@ -932,15 +917,13 @@ }, "backTranslations": { "type": "array", + "description": "A list of \"back translations\" of the target. For example, source words that the target can translate to.\nThe list is guaranteed to contain the source word that was requested (e.g., if the source word being\nlooked up is \"fly\", then it is guaranteed that \"fly\" will be in the backTranslations list).\nHowever, it is not guaranteed to be in the first position, and often will not be.", "items": { "$ref": "#/definitions/BackTranslation" }, - "x-ms-identifiers": [], - "description": "A list of \"back translations\" of the target. For example, source words that the target can translate to.\nThe list is guaranteed to contain the source word that was requested (e.g., if the source word being\nlooked up is \"fly\", then it is guaranteed that \"fly\" will be in the backTranslations list).\nHowever, it is not guaranteed to be in the first position, and often will not be.", - "x-typespec-name": "BackTranslation[]" + "x-ms-identifiers": [] } }, - "description": "Translation source term.", "required": [ "normalizedTarget", "displayTarget", @@ -952,6 +935,7 @@ }, "ErrorDetails": { "type": "object", + "description": "Error details as returned by Translator Service.", "properties": { "code": { "type": "integer", @@ -963,7 +947,6 @@ "description": "Human readable error description." } }, - "description": "Error details as returned by Translator Service.", "required": [ "code", "message" @@ -971,56 +954,53 @@ }, "ErrorResponse": { "type": "object", + "description": "Representation of the Error Response from Translator Service.", "properties": { "error": { "$ref": "#/definitions/ErrorDetails", "description": "Error details." } }, - "description": "Representation of the Error Response from Translator Service.", "required": [ "error" ] }, "GetLanguagesResult": { "type": "object", + "description": "Response for the languages API.", "properties": { "translation": { "type": "object", + "description": "Languages that support translate API.", "additionalProperties": { "$ref": "#/definitions/TranslationLanguage" - }, - "description": "Languages that support translate API.", - "x-typespec-name": "Record" + } }, "transliteration": { "type": "object", + "description": "Languages that support transliteration API.", "additionalProperties": { "$ref": "#/definitions/TransliterationLanguage" - }, - "description": "Languages that support transliteration API.", - "x-typespec-name": "Record" + } }, "dictionary": { "type": "object", + "description": "Languages that support dictionary API.", "additionalProperties": { "$ref": "#/definitions/SourceDictionaryLanguage" - }, - "description": "Languages that support dictionary API.", - "x-typespec-name": "Record" + } } - }, - "description": "Response for the languages API." + } }, "InputTextItem": { "type": "object", + "description": "Element containing the text for translation.", "properties": { "text": { "type": "string", "description": "Text to translate." } }, - "description": "Element containing the text for translation.", "required": [ "text" ] @@ -1121,27 +1101,25 @@ }, "SentenceLength": { "type": "object", + "description": "An object returning sentence boundaries in the input and output texts.", "properties": { "srcSentLen": { "type": "array", + "description": "An integer array representing the lengths of the sentences in the input text. \nThe length of the array is the number of sentences, and the values are the length of each sentence.", "items": { "type": "integer", "format": "int32" - }, - "description": "An integer array representing the lengths of the sentences in the input text. \nThe length of the array is the number of sentences, and the values are the length of each sentence.", - "x-typespec-name": "int32[]" + } }, "transSentLen": { "type": "array", + "description": "An integer array representing the lengths of the sentences in the translated text. \nThe length of the array is the number of sentences, and the values are the length of each sentence.", "items": { "type": "integer", "format": "int32" - }, - "description": "An integer array representing the lengths of the sentences in the translated text. \nThe length of the array is the number of sentences, and the values are the length of each sentence.", - "x-typespec-name": "int32[]" + } } }, - "description": "An object returning sentence boundaries in the input and output texts.", "required": [ "srcSentLen", "transSentLen" @@ -1149,6 +1127,7 @@ }, "SourceDictionaryLanguage": { "type": "object", + "description": "Properties ot the source dictionary language", "properties": { "name": { "type": "string", @@ -1164,15 +1143,13 @@ }, "translations": { "type": "array", + "description": "List of languages with alterative translations and examples for the query expressed in the source language.", "items": { "$ref": "#/definitions/TargetDictionaryLanguage" }, - "x-ms-identifiers": [], - "description": "List of languages with alterative translations and examples for the query expressed in the source language.", - "x-typespec-name": "TargetDictionaryLanguage[]" + "x-ms-identifiers": [] } }, - "description": "Properties ot the source dictionary language", "required": [ "name", "nativeName", @@ -1182,19 +1159,20 @@ }, "SourceText": { "type": "object", + "description": "Input text in the default script of the source language. ", "properties": { "text": { "type": "string", "description": "Input text in the default script of the source language." } }, - "description": "Input text in the default script of the source language. ", "required": [ "text" ] }, "TargetDictionaryLanguage": { "type": "object", + "description": "Properties of the target dictionary language", "properties": { "name": { "type": "string", @@ -1213,7 +1191,6 @@ "description": "Language code identifying the target language." } }, - "description": "Properties of the target dictionary language", "required": [ "name", "nativeName", @@ -1265,19 +1242,20 @@ }, "TranslatedTextAlignment": { "type": "object", + "description": "Alignment information object.", "properties": { "proj": { "type": "string", "description": "Maps input text to translated text. The alignment information is only provided when the request \nparameter includeAlignment is true. Alignment is returned as a string value of the following \nformat: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]. \nThe colon separates start and end index, the dash separates the languages, and space separates the words. \nOne word may align with zero, one, or multiple words in the other language, and the aligned words may \nbe non-contiguous. When no alignment information is available, the alignment element will be empty." } }, - "description": "Alignment information object.", "required": [ "proj" ] }, "TranslatedTextItem": { "type": "object", + "description": "Element containing the translated text", "properties": { "detectedLanguage": { "$ref": "#/definitions/DetectedLanguage", @@ -1285,25 +1263,24 @@ }, "translations": { "type": "array", + "description": "An array of translation results. The size of the array matches the number of target \nlanguages specified through the to query parameter.", "items": { "$ref": "#/definitions/Translation" }, - "x-ms-identifiers": [], - "description": "An array of translation results. The size of the array matches the number of target \nlanguages specified through the to query parameter.", - "x-typespec-name": "Translation[]" + "x-ms-identifiers": [] }, "sourceText": { "$ref": "#/definitions/SourceText", "description": "Input text in the default script of the source language. sourceText property is present only when \nthe input is expressed in a script that's not the usual script for the language. For example, \nif the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text \nconverted into Arab script." } }, - "description": "Element containing the translated text", "required": [ "translations" ] }, "Translation": { "type": "object", + "description": "Translation result", "properties": { "to": { "type": "string", @@ -1326,7 +1303,6 @@ "description": "Sentence boundaries in the input and output texts." } }, - "description": "Translation result", "required": [ "to", "text" @@ -1334,6 +1310,7 @@ }, "TranslationLanguage": { "type": "object", + "description": "The value of the translation property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag.\nA key identifies a language for which text can be translated to or translated from.", "properties": { "name": { "type": "string", @@ -1348,7 +1325,6 @@ "description": "Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages." } }, - "description": "The value of the translation property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag.\nA key identifies a language for which text can be translated to or translated from.", "required": [ "name", "nativeName", @@ -1357,36 +1333,34 @@ }, "TranslationResult": { "type": "object", + "description": "Response for the translation API.", "properties": { "result": { "type": "array", + "description": "Array of the translated text elements.", "items": { "$ref": "#/definitions/TranslatedTextItem" }, - "x-ms-identifiers": [], - "description": "Array of the translated text elements.", - "x-typespec-name": "TranslatedTextItem[]" + "x-ms-identifiers": [] } }, - "description": "Response for the translation API.", "required": [ "result" ] }, "TransliterableScript": { "type": "object", + "description": "Script definition with list of script into which given script can be translitered.", "properties": { "toScripts": { "type": "array", + "description": "List of scripts available to convert text to.", "items": { "$ref": "#/definitions/CommonScriptModel" }, - "x-ms-identifiers": [], - "description": "List of scripts available to convert text to.", - "x-typespec-name": "CommonScriptModel[]" + "x-ms-identifiers": [] } }, - "description": "Script definition with list of script into which given script can be translitered.", "required": [ "toScripts" ], @@ -1398,24 +1372,24 @@ }, "TransliterateResult": { "type": "object", + "description": "Response for the transliteration API.", "properties": { "result": { "type": "array", + "description": "Array of transliterated texts", "items": { "$ref": "#/definitions/TransliteratedText" }, - "x-ms-identifiers": [], - "description": "Array of transliterated texts", - "x-typespec-name": "TransliteratedText[]" + "x-ms-identifiers": [] } }, - "description": "Response for the transliteration API.", "required": [ "result" ] }, "TransliteratedText": { "type": "object", + "description": "Transliterated text element.", "properties": { "text": { "type": "string", @@ -1426,7 +1400,6 @@ "description": "A string specifying the script used in the output." } }, - "description": "Transliterated text element.", "required": [ "text", "script" @@ -1434,6 +1407,7 @@ }, "TransliterationLanguage": { "type": "object", + "description": "The value of the transliteration property is a dictionary of (key, value) pairs. \nEach key is a BCP 47 language tag. A key identifies a language for which text can be converted from one script \nto another script.", "properties": { "name": { "type": "string", @@ -1445,15 +1419,13 @@ }, "scripts": { "type": "array", + "description": "List of scripts to convert from.", "items": { "$ref": "#/definitions/TransliterableScript" }, - "x-ms-identifiers": [], - "description": "List of scripts to convert from.", - "x-typespec-name": "TransliterableScript[]" + "x-ms-identifiers": [] } }, - "description": "The value of the transliteration property is a dictionary of (key, value) pairs. \nEach key is a BCP 47 language tag. A key identifies a language for which text can be converted from one script \nto another script.", "required": [ "name", "nativeName", @@ -1465,105 +1437,105 @@ "BreakSentenceParameters.language": { "name": "language", "in": "query", - "required": false, "description": "Language tag identifying the language of the input text. \nIf a code isn't specified, automatic language detection will be applied.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "BreakSentenceParameters.script": { "name": "script", "in": "query", - "required": false, "description": "Script tag identifying the script used by the input text. \nIf a script isn't specified, the default script of the language will be assumed.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "GetLanguageParameters.acceptLanguage": { "name": "Accept-Language", "in": "header", - "required": false, "description": "The language to use for user interface strings. Some of the fields in the response are names of languages or \nnames of regions. Use this parameter to define the language in which these names are returned. \nThe language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` \nto request names in French or use the value `zh-Hant` to request names in Chinese Traditional.\nNames are provided in the English language when a target language is not specified or when localization \nis not available.", - "x-ms-client-name": "acceptLanguage", - "default": "en", + "required": false, "type": "string", - "x-ms-parameter-location": "method" + "default": "en", + "x-ms-parameter-location": "method", + "x-ms-client-name": "acceptLanguage" }, "GetLanguageParameters.ifNoneMatch": { "name": "If-None-Match", "in": "header", - "required": false, "description": "Passing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response. \nIf the resource has not been modified, the service will return status code 304 and an empty response body.", - "x-ms-client-name": "ifNoneMatch", + "required": false, "type": "string", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "x-ms-client-name": "ifNoneMatch" }, "GetLanguageParameters.scope": { "name": "scope", "in": "query", - "required": false, "description": "A comma-separated list of names defining the group of languages to return.\nAllowed group names are: `translation`, `transliteration` and `dictionary`.\nIf no scope is given, then all groups are returned, which is equivalent to passing \n`scope=translation,transliteration,dictionary`. To decide which set of supported languages \nis appropriate for your scenario, see the description of the [response object](#response-body).", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TranslateParameters.allowFallback": { "name": "allowFallback", "in": "query", - "required": false, "description": "Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. \nPossible values are: true (default) or false.\n\nallowFallback=false specifies that the translation should only use systems trained for the category specified \nby the request. If a translation for language X to language Y requires chaining through a pivot language E, \nthen all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. \nIf no system is found with the specific category, the request will return a 400 status code. allowFallback=true \nspecifies that the service is allowed to fall back to a general system when a custom system doesn't exist.", - "default": true, + "required": false, "type": "boolean", + "default": true, "x-ms-parameter-location": "method" }, "TranslateParameters.category": { "name": "category", "in": "query", - "required": false, "description": "A string specifying the category (domain) of the translation. This parameter is used to get translations \nfrom a customized system built with Custom Translator. Add the Category ID from your Custom Translator \nproject details to this parameter to use your deployed customized system. Default value is: general.", - "default": "general", + "required": false, "type": "string", + "default": "general", "x-ms-parameter-location": "method" }, "TranslateParameters.from": { "name": "from", "in": "query", - "required": false, "description": "Specifies the language of the input text. Find which languages are available to translate from by \nlooking up supported languages using the translation scope. If the from parameter isn't specified, \nautomatic language detection is applied to determine the source language.\n\nYou must use the from parameter rather than autodetection when using the dynamic dictionary feature. \nNote: the dynamic dictionary feature is case-sensitive.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TranslateParameters.fromScript": { "name": "fromScript", "in": "query", - "required": false, "description": "Specifies the script of the input text.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TranslateParameters.includeAlignment": { "name": "includeAlignment", "in": "query", - "required": false, "description": "Specifies whether to include alignment projection from source text to translated text.\nPossible values are: true or false (default).", - "default": false, + "required": false, "type": "boolean", + "default": false, "x-ms-parameter-location": "method" }, "TranslateParameters.includeSentenceLength": { "name": "includeSentenceLength", "in": "query", - "required": false, "description": "Specifies whether to include sentence boundaries for the input text and the translated text.\nPossible values are: true or false (default).", - "default": false, + "required": false, "type": "boolean", + "default": false, "x-ms-parameter-location": "method" }, "TranslateParameters.profanityAction": { "name": "profanityAction", "in": "query", - "required": false, "description": "Specifies how profanities should be treated in translations.\nPossible values are: NoAction (default), Marked or Deleted.", - "default": "NoAction", + "required": false, "type": "string", + "default": "NoAction", "enum": [ "NoAction", "Marked", @@ -1592,10 +1564,10 @@ "TranslateParameters.profanityMarker": { "name": "profanityMarker", "in": "query", - "required": false, "description": "Specifies how profanities should be marked in translations.\nPossible values are: Asterisk (default) or Tag. ", - "default": "Asterisk", + "required": false, "type": "string", + "default": "Asterisk", "enum": [ "Asterisk", "Tag" @@ -1619,18 +1591,18 @@ "TranslateParameters.suggestedFrom": { "name": "suggestedFrom", "in": "query", - "required": false, "description": "Specifies a fallback language if the language of the input text can't be identified. \nLanguage autodetection is applied when the from parameter is omitted. If detection fails, \nthe suggestedFrom language will be assumed.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TranslateParameters.textType": { "name": "textType", "in": "query", - "required": false, "description": "Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, \ncomplete element. Possible values are: plain (default) or html.", - "default": "Plain", + "required": false, "type": "string", + "default": "Plain", "enum": [ "Plain", "Html" @@ -1654,44 +1626,44 @@ "TranslateParameters.to": { "name": "to", "in": "query", - "required": true, "description": "Specifies the language of the output text. The target language must be one of the supported languages included \nin the translation scope. For example, use to=de to translate to German.\nIt's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. \nFor example, use to=de&to=it to translate to German and Italian.", - "collectionFormat": "multi", + "required": true, "type": "array", "items": { "type": "string" }, + "collectionFormat": "multi", "x-ms-parameter-location": "method" }, "TranslateParameters.toScript": { "name": "toScript", "in": "query", - "required": false, "description": "Specifies the script of the translated text.", + "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TransliterateParameters.fromScript": { "name": "fromScript", "in": "query", - "required": true, "description": "Specifies the script used by the input text. Look up supported languages using the transliteration scope,\nto find input scripts available for the selected language.", + "required": true, "type": "string", "x-ms-parameter-location": "method" }, "TransliterateParameters.language": { "name": "language", "in": "query", - "required": true, "description": "Specifies the language of the text to convert from one script to another. \nPossible languages are listed in the transliteration scope obtained by querying the service \nfor its supported languages.", + "required": true, "type": "string", "x-ms-parameter-location": "method" }, "TransliterateParameters.toScript": { "name": "toScript", "in": "query", - "required": true, "description": "Specifies the output script. Look up supported languages using the transliteration scope, to find output \nscripts available for the selected combination of input language and input script.", + "required": true, "type": "string", "x-ms-parameter-location": "method" }